【簡単!】ファイル名に日付/時間を追加するバッチファイルを誰でも簡単に作成する方法
テキストファイルやExcelファイル等を編集する際、バックアップをとるために編集前のファイルをコピーして、コピーしたファイルに日付を入力するといった作業を毎回行っていませんか?
バッチファイルを利用すれば、そのような面倒な作業はしなくとも下図のようにバッチファイルのダブルクリックだけで瞬時に「Backup」フォルダにファイルをコピーし、コピーしたファイルの名前の先頭に日付を追加し、バックアップしてくれます。
使用したコードは下記の通りです。この記事ではコードの解説をしております。
解説なんていらないよという方はバッチファイルに下記すべてをコピーしてset file_name="ファイルA.txt"のファイルA.txtをバックアップしたいファイル名に変更するとすぐに利用できます。
@echo off
rem ファイル名を変数に格納する
set file_name="ファイルA.txt"
rem 現在の日付及び現在時刻を変数に格納する
set cur_datetime=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
rem 先頭に現在時刻追加したファイル名を変数に格納する
set new_filename=%cur_datetime%_%file_name%
rem ファイルをコピーし、名前を変更する
copy %file_name% %new_filename%
rem ファイルをフォルダbackupに移動する
move %new_filename% backup
解説
コマンドの非表示
@echo off
最初の @echo off は、バッチファイル実行時にコマンド内容を表示しないようにします。
各変数の定義
rem ファイル名を変数に格納する
set file_name="ファイルA.txt"
rem 現在の日付及び現在時刻を変数に格納する
set cur_datetime=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
rem 先頭に現在時刻追加したファイル名を変数に格納する
set new_filename=%cur_datetime%_%file_name%
file_name という変数に、"ファイルA.txt" というファイル名を格納します。
"ファイルA.txt"としておりますが、バックアップしたいファイル名をこちらに入力してください。
cur_datetime という変数に、現在の日付と時刻をYYYYMMDDHHMMSS形式で格納します。
new_filename という変数に、cur_datetime 変数の値と file_name 変数の値を結合したファイル名を格納します。
ファイルのコピー及びリネーム
rem ファイルをコピーし、名前を変更する
copy %file_name% %new_filename%
file_name 変数で指定されたファイルを、new_filename 変数で指定された新しいファイル名でコピーします。
ファイルをbackupフォルダに移動
rem ファイルをフォルダbackupに移動する
move %new_filename% backup
move %new_filename% backup は、new_filename で指定されたファイルを "backup" フォルダに移動します。
すごく役にたちました!
ありがとうございます!
もっとお役に立てるよう頑張ります。