環境変数は、コマンドラインで、バッチファイル内のWindowsマシン上の現在の日付と時間を提供します。%DATE%
%TIME%
残念ながら、これらの値はロケールに対応しています!つまり、ドイツのマシンでは、次のようになります
26.1.2011
の代わりに
2011-26-01
この変数をファイル名で使用する場合、これはソートを台無しにします。
YYYY-MM-DD
Windowsバッチファイルでロケールを認識しない日付文字列を取得する簡単な方法はありますか?
とりあえず、私はこのかなり気味の悪い回避策に取り組んでいます:
for /f "tokens=1,2,3,4 delims=. " %%i in ('date /t') do set date=%%k-%%j-%%i
echo %date%
しかし、これは現在ドイツのロケール固有です-明らかに、完全に独立したソリューションの方がずっといいでしょう。
問題のOSはServer 2008です。可能な限り、サードパーティのツールを使用しないことをお勧めします。