システム運用保守を担当すると、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% 」の定義でファイル名にセットします。
¥8,580 (2024/12/06 16:24時点 | Amazon調べ)
ポチップ