根暗シアン

備忘録という名の予防線

Windows バッチファイルで日時をYYYYMMDDHHmmSS形式で取得

Windows バッチで、日時を取得して書式設定する。 ログファイルとかtempファイルにYYYYMMDD とか HHmmSS をつけたいときによくやる。

  • 年月日
rem 年月日
echo %date%
rem => 2017/09/16
rem Windows の設定によって、年の表示を2桁とかにしていると YY/MM/DD になったりするので環境に合わせる

rem /を取り除く
set YYYYMMDD=%date:/=%
echo %YYYYMMDD%
rem => 20170916
  • 時分秒
rem 時刻
echo %time%
rem => 12:59:59.999
rem =>  9:00:00.000

rem :,ミリ秒を取り除く
set HHmmSSsss=%time::=%
set HHmmSS=%HHmmSSsss:~0,6%

rem 一桁時のときは先頭がスペースパディングされている。0パディングに直したいときは以下
if "%HHmmSS:~0,1%"=" " set HHmmSS=0%HHmmSS:~1%

echo %HHmmSS%
rem => 125959
rem => 090000