【bat】バッチファイルで日付や時間を取得する方法

バッチファイルは、Windowsのコマンドプロンプトで実行されるスクリプトファイルです。日付や時間を取得する方法を知っておくと、自動化タスクやログの作成に非常に便利です。本記事では、バッチファイルを使用して日付や時間を取得する方法を詳しく説明します。

日付の取得

バッチファイルで現在の日付を取得するには、%date%環境変数を使用します。以下は、現在の日付を表示する簡単な例です。

@echo off
echo 現在の日付: %date%
pause

時間の取得

同様に、現在の時間を取得するには、%time%環境変数を使用します。以下は、現在の時間を表示する例です。

@echo off
echo 現在の時間: %time%
pause

日付と時間を個別の部分に分割する

日付や時間を個別の要素(年、月、日、時間、分、秒)に分割して取得するには、forコマンドを使用します。以下の例では、日付と時間を分割して各部分を取得しています。

@echo off
rem 日付を取得して分割
for /F "tokens=1-3 delims=/" %%A in ("%date%") do (
    set Year=%%A
    set Month=%%B
    set Day=%%C
)
echo 年: %Year%
echo 月: %Month%
echo 日: %Day%

rem 時間を取得して分割
for /F "tokens=1-4 delims=:.," %%A in ("%time%") do (
    set Hour=%%A
    set Minute=%%B
    set Second=%%C
    set Millisecond=%%D
)
echo 時: %Hour%
echo 分: %Minute%
echo 秒: %Second%
echo ミリ秒: %Millisecond%

pause

日付や時間をファイル名に使用する

日付や時間をファイル名に使用する場合、特殊文字(/や:など)を置き換える必要があります。以下の例では、日付と時間を取得し、それを使ってファイルを作成しています。

@echo off
rem 日付と時間を取得して形式を変更
set datetime=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
rem 空白を削除
set datetime=%datetime: =0%

rem ファイルを作成
echo 日付と時間の例 > example_%datetime%.txt
echo ファイル example_%datetime%.txt を作成しました。

pause

まとめ

バッチファイルで日付や時間を取得する方法をいくつか紹介しました。これらのスクリプトを利用することで、さまざまな自動化タスクやログ管理が容易になります。特に、ファイル名に日付や時間を含めることで、ファイルの整理がしやすくなります。ぜひ、日常のバッチファイル作成に役立ててください。