普段の業務の中でファイルのリネームをし、資料をメール、チャットツール等で送付する機会は多いかと思います。面倒な作業をファイル選択し、送るボタンからRename.batを選択するだけで「ファイル名.拡張子」を「ファイル名_YYYYMMDD_名前.拡張子」とする方法を以下に記載します。
1.リネーム用バッチファイルの準備
送るボタンで渡された引数の複数ファイルに日時+文言付与し、コピーするバッチファイルとなります。追加処理1,2はどちらかをコメントアウトし、2を使用する場合はtExtraに追加したい文言を入れてください。
ファイルはC:\Tools\CopyPlusDay\CopyPlusDay.batなどのように保存いただき、CopyPlusDay.batのショートカットを作成ください。
@echo off
if not "%~0"=="%~dp0.\%~nx0" (
start /min cmd /c,"%~dp0.\%~nx0" %*
exit
)
rem 引数が無ければプログラム終了
if "%1"=="" goto :eof
rem 引数分リネーム処理
:loop
rem 引数がなくなればループから出て「:eof」へ
if "%1"=="" goto :eof
rem 日時編集
set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
SET tDate=%yyyy%%mm%%dd%
rem ファイル名と拡張子に分割
SET tName=%~n1
SET tExt=%~x1
rem 追加文言付与
SET tExtra="Name"
rem 以下1、2どちらかをコメントアウトして使用ください。
rem ファイル名に年月日追加処理1
rem COPY "%~p1%tName:^^=^%%tExt%" "%~p1%tName:^^=^%_%tDate:"=%%tExt%"
rem ファイル名に年月日+Name内容追加処理2
COPY "%~p1%tName:^^=^%%tExt%" "%~p1%tName:^^=^%_%tDate%_%tExtra:"=%%tExt%"
rem 引数を一つずらす
shift
rem 「:loop」へ戻ってループを続ける
goto loop
Code language: PHP (php)
エクスプローラーのパス入力欄にてshell:sendtoと入力し、開いたフォルダに咲くほどのCopyPlusDayファイルのショートカットをコピーします。
その後適当なファイルを右クリックし、「送る」内のCopyPlusDayを選択するとコピーされたファイルが作成されます。

最後に
バッチだけでも色々な作業が捗ります。皆さんも使ってみてください。
- Advertisement -