曜日判定(cmd)
我がチームに開発環境サーバー(Windows2003サーバー)がやってきた。
今あるサーバーは全て2000サーバーで、それで開発している。で2000サーバーで出来ていたことが200参サーバーでは出来なくなることもいろいろ予想できる。そしていきなりそれに出会った。
バッチで曜日を判断して処理をするしないというところがあって、2000は問題ないのだが、2003だと曜日をだしてくれないのだ。ためしにコマンドで、date と叩いてみるとわかる。
2000は、
現在の日付: 2007/10/18 木
↑こう表示される。2003は、
現在の日付: 2007/10/18
↑曜日がない・・・
困った困ったでググる。。。。。。。。VBSを使う??とできるようなことがでてきたのでやってみる。中身は、下記1文。拡張子は.vbs。
WScript.Quit(WeekDay(Date))
このVBSを実行して%ERRORLEVEL%を拾って曜日を判断するという手法。バッチファイルを作成しhomedir、ファイル名等設定。
cscript /b フルパスファイル名.vbs
if %errorlevel%==7 set WDAY=土曜日
if %errorlevel%==6 set WDAY=金曜日
if %errorlevel%==5 set WDAY=木曜日
if %errorlevel%==4 set WDAY=水曜日
if %errorlevel%==3 set WDAY=火曜日
if %errorlevel%==2 set WDAY=月曜日
if %errorlevel%==1 set WDAY=日曜日echo.%WDAY%> フルパスログファイル名.log
echoで吐き出されたログファイルにバッチを実行した日の曜日がかかれている。2000、2003ともに動作OKという事でジッソー!