MoyaSystem

もやしです。

Windowsの%date%に足元すくわれた話

そもそも

個人的に運用している某所の出退勤管理システムにて、実績を取得したい期間を任意に指定できる機能を実装した。*1それなら毎月初に先月1ヶ月分の実績を取得してメール送信するバッチ処理もこの機能を呼ぶようにしたいよね、ということで、.batファイルの中で %date% 変数で日付を呼び出し、それをゴニョゴニョ処理するように変更をかけた。

そしたら

エラーでコケました。

原因

開発環境の%date%の出力結果は

2014/10/01

だったのだが、本番環境は海外のサーバだったため、

Wed 01-10-2014

と出力されてあえなく轟沈した次第……。がっくし。

解決

Change the display of dates, times, currency, and measurements - Windows Help
ここを参考にして本番サーバ側のdateフォーマットを変更して解決。うーん、本番環境でテストするのは難しいとはいえ、こういう環境依存の部分があることは認識しておかないとダメですね。反省。

*1:いや今まで無かったのかよ、というツッコミはやめてください。