ここではWindowsのバッチファイルでシステム日付と時刻の取得と書き方について紹介します。

日付と時刻の取得

日付と時刻を表示する

日付を取得するにはWindowsの環境変数 %date%、時刻を取得するには %time% を使用します。

@echo off

rem 日付の取得
echo %date%

rem 時刻の取得
echo %time%

PAUSE
2025/07/20
9:12:31.08


日付をyyyyMMdd形式で表示する

環境変数 %date% を年・月・日に分割して表示します。

@echo off

rem 日付の取得
echo %date%

set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%

set SYSDATE=%YEAR%%MONTH%%DAY%

echo %SYSDATE%

PAUSE
2025/07/20
20250720


時刻をHHmmss形式で表示する

環境変数 %time% を時・分・秒に分割して表示します。

@echo off

rem 時刻の取得
echo %time%

rem ゼロ埋めする
set TIME2=%time: =0%

set HOUR=%TIME2:~0,2%
set MINUTE=%TIME2:~3,2%
set SECOND=%TIME2:~6,2%

set SYSTIME=%HOUR%%MINUTE%%SECOND%

echo %SYSTIME%

PAUSE
9:19:12.21
091912


日時を使ったコマンド例

日時をファイル名にして出力する

DIRコマンドの結果を日時のファイル名に出力します。

@echo off

rem 日付の取得
echo %date%

set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%

rem 時刻の取得
echo %time%

rem ゼロ埋めする
set TIME2=%time: =0%

set HOUR=%TIME2:~0,2%
set MINUTE=%TIME2:~3,2%
set SECOND=%TIME2:~6,2%

rem ファイル名の編集(yyyyMMdd_HH:mm:ss.txt)
set FILENAME=DIR_%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%.txt

echo %FILENAME%

echo dir > %FILENAME%
dir > %FILENAME%

PAUSE
2025/07/20
9:22:06.79
DIR_20250720_092206.txt


日付(yyyyMMdd)のフォルダを作成する

指定したフォルダ内に日付のフォルダを作成します。

@echo off

set DIR_PATH=C:\work\

rem 日付の取得
echo %date%

set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%

rem フォルダ名の編集(yyyyMMdd)
set DIRNAME=%YEAR%%MONTH%%DAY%

echo %DIR_PATH%%DIRNAME%

rem フォルダが存在するかチェックする
if exist %DIR_PATH%%DIRNAME%\ (
    echo フォルダが存在します。(%DIR_PATH%%DIRNAME%)
) else (
    mkdir %DIR_PATH%%DIRNAME%
)

PAUSE


以上、Windowsのバッチファイルでシステム日付と時刻の取得と書き方について解説しました。