ファイル名などにタイムスタンプを付与したい場合に毎回検索してしまうため備忘録として残しておく

実際のコード

例 2019/03/23 0:07:49.91 に実行した場合

yyyy/mm/dd 表示

@echo off

echo %DATE%

=> 2019/03/23

yyyy/mm/dd-hh:MM:ss.fff 表示

午前0時~午前9時の間は 0:00:00.00」(頭に半角スペース)になるため0埋め

@echo off

set timeStamp=%DATE%-%TIME%
set timeStamp=%timeStamp: =0%

echo %timeStamp%

=> 2019/03/23-00:07:49.91

yyyymmddhhMMss 表示

%timeStamp:~m,n% の部分は変数 timeStamp の m 文字目から n 文字を切り出す(mは0始まり)

@echo off

set timeStamp=%DATE%-%TIME%
set timeStamp=%timeStamp: =0%
set formatTimeStamp=%timeStamp:~0,4%%timeStamp:~5,2%%timeStamp:~8,2%%timeStamp:~11,2%%timeStamp:~14,2%%timeStamp:~17,2%

echo %formatTimeStamp%

=> 20190323000749