普段はちょっとしたスクリプトはshで書くのですが、バッチファイルで書く必要があったので少し調べてみました。書き始めてまずはじめに困ったのは、コマンドの出力結果の取り出し方です。shでいうところのバッククオートの代わりはFORを使うようです。
例えば、日付をYYYYMMDDの形式で取得する、
DATE=`date +%Y%m%d`
と同じ事をやるには、
FOR /F "tokens=1-3 delims=/" %%a IN ('date /T') DO set DATE=%%a%%b%%c
のようにします。Subversionで現在のリビジョンを取得する、
REVISION=`svn info . | grep "Last Changed Rev" | cut -f 4 -d ' '`
は、
FOR /F "tokens=1-4 delims=: " %%a IN ('svn info .') DO IF "%%a %%b %%c" EQU "Last Changed Rev" set REVISION=%%d
のようにすれば良さそうです。高機能なんだか低機能なんだか良く分かりません。