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:\>
-
- 【結論】結構いいかも
とりあえず今回は後者をおすすめしておきます