ドゥードゥリング

趣味や技術など、
役に立つのかよくわからない話が中心。

【bat】ファイル名に日付と時刻を追加してコピーするバッチを作成してみた

2022年04月20日 20時59分52秒 | 技術

タイトルの通り、ファイル名に日付と時刻を追加してコピーするバッチを作成してみました。 内容は以下の通りです。


@echo off

@rem 現在の年月日並びに時刻を取得
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set hour=%time:~0,2%
@rem 一桁の時間の場合は先頭が半角空白の文字列が出来上がるため
@rem 半角空白を'0'に変換する
set hour=%hour: =0%
set minite=%time:~3,2%
set second=%time:~6,2%

@rem 付加する文字列を作る
set strDate=%year%%month%%day%_%hour%%minite%%second%

@rem コピー元のファイル名を取得
set fileName=%~n1
@rem コピー元のファイル拡張子を取得
set fileType=%~x1

@rem ファイルコピー処理
copy /-y "%~f1" "%~p1%fileName%_%strDate%%fileType%"


上記の分をバッチファイルに保存し、コピーしたいファイルをバッチファイル上にドラッグ&ドロップで重ね合わせることでコピーが完了します。

また、コンテキストメニュー内の「送る」にバッチファイルのショートカットを登録すれば直接バッチファイルを起動してコピーを行うことができます。

閑話

本当は年月日と番号を新しい順に付番するようにしたかったんですが、
付番付きの古いファイルがあるフォルダの指定方法に難儀したためいったんは上記の方法を取ることにしました。

今後、バッチファイルによる付番の方法を検討していく次第です。

 



最新の画像もっと見る

コメントを投稿