今日の発見

Windowsのバッチファイル(.bat)で日付をファイル名の一部として扱う方法について調べました。
案外メンドくさかったので備忘録として残しておきます。
WSH使えば簡単に出来るのも知ってるけど、ここではあえてバッチファイルを使ってます。

  1. dateコマンドを使う方法
 C:\>date /t
 2005/11/19
 C:\>

 C:\>time /t
 03:19
 C:\>

  C:\> FOR /F "tokens=1" %%I in ('date /t') do SET tDate=%%I
  C:\> FOR /F "tokens=1" %%I in ('time /t') do SET tTime=%%I

  C:\> SET tFileName=Test%tDate:/=-%_%tTime::=.%.dat

 C:\> ECHO %tFileName%

 Test2005-11-19_03.24.dat

 C:\>
    • 【結論】ちょっと手間がかかり過ぎる上に時間が分単位でしか取れません...
  1. %date%と%time%を使う方法
 C:\>echo %date%
 2005/11/19
 C:\>

 C:\>echo %time%
 3:28:36.85
 C:\>

  C:\> SET tFileName=Test%date:/=-%_%time::=.%.dat

 C:\> ECHO %tFileName%

 Test2005-11-19_ 3.29.41.45.dat

 C:\>
    • 【結論】結構いいかも

とりあえず今回は後者をおすすめしておきます