自動的にファイル名に更新日付を付けるバッチファイルを作ったら便利すぎた

ファイルをバックアップするときなどファイル名に日付を付けたりしますよね。

xxx.txt → 20190804_xxx.txtとか。

ずっとこれを手動でやってたんですが、あまりに面倒なのでバッチファイルを作ってみました。

更新日時を付加するバッチファイル

一日に何回かバックアップすることも想定して、こんな感じに更新日時を付けるようにしてみました。 元のファイル名 → 日付時刻元のファイル名

@echo off

for %%i in (%1) do (
  set tmp=%%~ti
)

set year=%tmp:~0,4%
set month=%tmp:~5,2%
set date=%tmp:~8,2%
set hour=%tmp:~11,2%
set min=%tmp:~14,2%
set dt=%year%%month%%date%_%hour%%min%

cd "%~dp1"
rename "%~nx1" "%dt%_%~nx1"

これを適当な名前でバッチファイルとして保存してください。

私の環境(Windows 10 Pro)では問題なく動作していますが、ご使用は自己責任でお願いします

使い方

使い方は簡単!このバッチファイルに日付を付加したいファイルをドラッグアンドドロップするだけです。

このバッチファイルへのショートカットを『送る』に登録しておくと便利かもしれません。

『送る』への登録方法

エクスプローラーのアドレスバーに

shell:sendto
と入力してEnterすると『送る』フォルダが開きますので、ここに上記バッチファイルのショートカットを作ればOKです。

カスタマイズしてみよう

上記バッチファイルでは更新時刻も付けてます。これを日付だけにしたい場合は、

set dt=%year%%month%%date%_%hour%%min%

set dt=%year%%month%%date%

に変えてください。

できればWindowsに搭載してほしい

そういえば、バックアップ用途でごみ箱を使っている人がいるという衝撃的な記事を読んだことがあります。

確かにごみ箱は同じファイル名でいくつもファイルを格納(?)することができますので、ファイルのバージョン管理ができるんですね。これは目からうろこ!

でも、ごみ箱内のファイルはWindowsの設定によっては自動的に削除されてしまいますし、絶対にマネしちゃだめですよ。

できれば、ごみ箱と同様に同じファイル名を格納できるフォルダを作れる機能がWindowsに搭載されるとうれしいですね。

誰かそういうフリーソフトつくってくれないかな。FuseやDokanとか使えばできそうな気がする。

eng-notebook.com