Windowsコマンド・バッチでファイル名に日付と時刻を入れる方法

Windowsロゴ

システム運用保守を担当すると、Windowsのバッチ処理で、自動に日付と時刻をファイル名に付与したいという要望がでてきます。そこで、実査に日付と時刻をファイル名に入れるコマンドを解説します。

ファイル名に日付と時刻を入れる定義

以下の例は、「 log.txt 」というファイルが既に存在して、そのファイルを日付・時刻付きのファイル名に変更するという方法です。

set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set hh=%time:~0,2%
set tt=%time:~2,2%
copy log.txt log%yyyy%-%mm%-%dd%_%hh%.%tt%.txt

※copyではなく、moveでも可

バッチの実行結果

当日日付、及びコマンドが実行された時刻(時.分)がファイル名に付与されたものに変わります。

log2015-07-06_13.45.txt






コマンドの解説

まず、Windowsコマンドで日付を取得・表示するのは「 date 」である。

C:\> echo %date%
2015/07/09

このコマンド実行結果から「年」の部分だけを抜き出すのが、「 set yyyy=%date:~0,4% 」です。

2015/07/09

の中から「0行目から4文字を抜く」というのが「 ~0,4% 」の定義です。
抜いた4文字(=年)を「 yyyy 」にセットします。

年がセットされた「 yyyy 」を「 %yyyy% 」の定義でファイル名にセットします。

スポンサーリンク

シェアする

フォローする