日付と時刻 - バッチファイル
バッチで、現在の時刻を取得する方法。
特に何のことは無く、変数 %date%, %time%
に入っている。その行を実行した瞬間の時刻が返される。
ただし、dateは「YYYY/MM/DD」、timeは「 H:MM:SS.FF」という形式。
特に時刻は、時間の部分が1桁だと、ゼロ埋めではなく頭に半角スペースの付いた形式で返されるため、注意。
例えばこの文字列を元にファイル名に使えるように「YYYYMMDD_HHMMSS」という文字列に加工する場合などは、それを認識して変換する必要がある。
具体的には、
- 文字列置換で時刻のスペースを0に置換
- 文字列置換で日付と時刻の各区切り文字(“/”, “:”)を空文字に置換
- 文字列切り出しで時刻の小数点以下の秒数の部分は切り落とす
- 日付と時刻と結合する
@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