ウェブ備忘録

バッチファイルで日時を扱う方法

Windows のバッチファイルで年月日、時刻を取得する方法、 取得した値を使用してフォルダ等を作成する方法です。

年月日を取得

変数 %date% から / を削除、分解し、変数に格納する。

rem %date% から "/" を削除する
set date_tmp=%date:/=%

rem 年
set yyyy=%date_tmp:~0,4%
rem 月
set mm=%date_tmp:~4,2%
rem 日
set dd=%date_tmp:~6,2%

時刻を取得

時が1桁(0時~9時)の場合、変数 %time% には先頭に空白が含まれるため、 空白を 0 に置換後 : を削除、分解し、変数に格納する。

rem %time% の空白を "0" で埋めた後、":" を削除する
set time_tmp=%time: =0%
set time_tmp=%time_tmp::=%

rem 時
set hh=%time_tmp:~0,2%
rem 分
set mi=%time_tmp:~2,2%
rem 秒
set ss=%time_tmp:~4,2%

"YYYYMMDD" フォルダの下に "HHMISS.txt" ファイルを作成する

set date_tmp=%date:/=%
set time_tmp=%time: =0%
set time_tmp=%time_tmp::=%

set yyyymmdd=%date_tmp:~0,8%
set hhmiss=%time_tmp:~0,6%

rem フォルダを作成
md "%yyyymmdd%"

rem 空ファイルを作成
echo.> "%yyyymmdd%\%hhmiss%.txt"