Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【バッチファイル】現在の日時をファイル名に使う

以下は、現在の日時を使用してファイル名を作成した例。最後の環境変数filenameがそれ。暗黙の環境変数(dateとtime)を使用している。

@echo off
echo 年月日「%date%」
echo 時分秒「%time%」
set year=%date:~0,4%
set mon=%date:~5,2%
set day=%date:~8,2%
set timep=%time: =0%
set hour=%timep:~0,2%
set min=%timep:~3,2%
set sec=%timep:~6,2%
set basename=%year%%mon%%day%_%hour%%min%%sec%
set filename=%basename%.log
echo %filename%

実行例

年月日「2022/08/19」
時分秒「22:39:11.09」
20220819_223911.log

途中、環境変数timepを作成し、以降はそれを参照しているのは、time環境変数は時分秒の時について表記が1桁で済む場合(0~9)は2桁目を0ではなく空白(0x20)で埋めてしまうため、それを避けるために、空白が含まれる場合は強制的に0に置換をし、以降はそれを利用するようにしている。