Windowsのバッチファイル(bat)で「年月日」や「時分秒」の文字列を取得する(date、time)
Windowsのバッチファイル(bat)で年月日と時分秒の文字列を取得する方法になります。
ファイル名などに年月日時分秒を入れたいといったことがよくあると思いますが、Windowsのバッチでは環境変数の日付(date)と時刻(time)から必要な情報を抜き出さないといけないようで、メモとしておかないとすぐ忘れそうだったので残しておきます。
コード
年月日時分秒を取得するコードは以下の通りです。
@echo off
set dt=%date%
set year=%dt:~0,4%
set month=%dt:~5,2%
set day=%dt:~8,2%
set tm=%time%
set hour=%tm:~0,2%
set minute=%tm:~3,2%
set second=%tm:~6,2%
set msecond=%tm:~9,2%
echo ----------
echo %dt%
echo %year%
echo %month%
echo %day%
echo ----------
echo %tm%
echo %hour%
echo %minute%
echo %second%
echo %msecond%
echo ----------
echo %year%%month%%day%_%hour%%minute%%second%_%msecond%
echo ----------
上記のコードは年月日が「2018/02/24」時分秒が「18:08:37.14」形式である場合の取得方法になります。環境などにより必要な情報の位置が異なる場合、環境に合わせた設定が必要です。
実行結果
上記のコードを記述したバッチファイルを実行すると、結果は以下のようになります。
できれば取得用の専用メソッドがあったら便利でしたが、文字列の位置から取得する方法でも慣れればそこまで気にはならなさそうです。