バッチファイルで日付と時間を取得する

日付はdate 時間はtimeで取得出来ます。 dateとtimeを使って日付と時間を表示すると PCの設定によりますが、日本語版であれば以下の形になります。

2015/01/23 14:37:34.23

  ファイル名などに使用するときには、/や:が邪魔なので以下のように文字列を部分的に取得して日付と時間を取得します

Set YYYY=%Date:~0,4%
Set MM=%Date:~5,2%
Set DD=%Date:~8,2%
Set TT=%Time:~0,2%%Time:~3,2%
Set TS=%YYYY%%MM%%DD%%TT%

%Date:~0,4%は0文字目から4文字目という意味です。

注意が必要なのは0時から9時の場合、時間の表示が09ではなく 9となるので TSにセットされる値は20150123 955となり、ファイル名に使えません。 なので半角スペースを0に置換する処理が必要となります。

Set YYYY=%Date:~0,4%
Set MM=%Date:~5,2%
Set DD=%Date:~8,2%
Set TT=%Time:~0,2%%Time:~3,2%
Set TT=%TT: =0%
Set TS=%YYYY%%MM%%DD%%TT%

これでTSにセットされる値は201501230955となりファイル名に使用することが出来ます。