バッチファイルの中でフォルダ名やファイル名に現在日付、現在時刻を使うことがよくあるが、すぐ忘れるのでメモしておく。

現在日付を表示

$ echo %date%
2017/06/16
$ date /t
2017/06/16

現在時刻を表示

$ echo %time%
11:58:29.47
$ time /t
11:59

yyyyMMdd形式で表示

$ set yyyymmdd=%date:~0,4%%date:~5,2%%date:~8,2%
$ echo %yyyymmdd%
20170616

yyyyMMddHHmmss形式で表示

$ set yyyymmddhhmmss=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
$ echo %yyyymmddhhmmss%
20170616221123

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