日付と時刻 - バッチファイル

バッチで、現在の時刻を取得する方法。

特に何のことは無く、変数 %date%, %time% に入っている。その行を実行した瞬間の時刻が返される。

ただし、dateは「YYYY/MM/DD」、timeは「 H:MM:SS.FF」という形式。

特に時刻は、時間の部分が1桁だと、ゼロ埋めではなく頭に半角スペースの付いた形式で返されるため、注意。

例えばこの文字列を元にファイル名に使えるように「YYYYMMDD_HHMMSS」という文字列に加工する場合などは、それを認識して変換する必要がある。

具体的には、

@echo off
rem 現在時刻の「YYYYMMDD_HHMMSS」形式の文字列を表示
 
echo %date% %time%
rem => 2018/02/19  1:23:45.67
 
set date_tmp=%date:/=%
set time_tmp=%time: =0%
set time_tmp=%time_tmp::=%
set datetime=%date_tmp%_%time_tmp:~0,6%
echo %datetime%
rem => 20180219_012345