Windowsのバッチファイル(.bat)で日付をファイル名の一部として扱う方法について調べました。
案外メンドくさかったので備忘録として残しておきます。
WSH使えば簡単に出来るのも知ってるけど、ここではあえてバッチファイルを使ってます。
- 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:\>
-
- 【結論】ちょっと手間がかかり過ぎる上に時間が分単位でしか取れません...
- %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:\>
-
- 【結論】結構いいかも
とりあえず今回は後者をおすすめしておきます