バッチで現在日時をファイル名に付ける方法【yyyymmddhhmmss】

バッチファイルで日時名のファイルをパッと自動で生成したいことがありますよね?

ググった所、色々と解説は出てくるのですが、パッとコピペで使える日時表現のバリエーションが一覧にまとまっているページが見当たらなかったので、一覧にまとめてみました。

よろしければご活用ください。
cmd(コマンドプロンプト)でも使用できます。

■バッチで日時取得してファイル名に付ける方法

ファイル名に、時・分・秒・ミリ秒 のいずれかを使用する場合、時分秒等が一桁のときに頭に0を付加するために、事前に下表の「set time0n=…」の変数設定が必要です。
これがない場合、時刻によってはエラーになります。

 

表示形式 バッチ変数
→好きなものをコピペしてください
表示例
(2021/07/13 15:20
30秒 55ミリ秒の場合)
yyyymmdd
年月日
%date:~0,4%%date:~5,2%%date:~8,2% 20210713
yyyymmdd_hhmm
年月日_時分
set time0n=%time: =0%
 の後、
%date:~0,4%%date:~5,2%%date:~8,2%_%time0n:~0,2%%time0n:~3,2%
20210713_1520
yyyymmdd_hhmm_ss
年月日_時分_秒
set time0n=%time: =0%
 の後、
%date:~0,4%%date:~5,2%%date:~8,2%_%time0n:~0,2%%time0n:~3,2%_%time0n:~6,2%
20210713_1520_30
yyyymmdd_hhmm_ssmm
年月日_時分_秒ミリ秒
set time0n=%time: =0%
 の後、
%date:~0,4%%date:~5,2%%date:~8,2%_%time0n:~0,2%%time0n:~3,2%_%time0n:~6,2%%time0n:~9,2%
20210713_1520_3055
yyyy
%date:~0,4% 2021
mm
%date:~5,2% 07
dd
%date:~8,2% 13
hh
set time0n=%time: =0%
 の後、
%time0n:~0,2%
15
mm
set time0n=%time: =0%
 の後、
%time0n:~3,2%
20
ss
set time0n=%time: =0%
 の後、
%time0n:~6,2%
30
mm
ミリ秒
set time0n=%time: =0%
 の後、
%time0n:~9,2%
55

 

■使用例

上の一覧表の使用したい行のバッチ変数表現の部分を、バッチファイル内のコマンドに貼付けてご使用ください。

例えば、ファイルをxcopyでバックアップする場合は下記です。

xcopy memo.txt memo_(バッチ変数表現).txt

 

ファイル名だけでなくフォルダ名にも使用できます。

mkdir (バッチ変数表現)

 

■まとめ

バッチファイルの日時表現の一覧をまとめました。

 

最後まで読んでいただいてありがとうございます。
以上です。