ファイル名に指定した文字が存在したら
その文字を除去して名前を変更する、です。
使用例としましては
特定のアプリの出力名が固定されていて
一括リネームしたい時など。
例:以下のファイルがあったとしまして
てすと_TestName_170608.txt
_TestName_ を削除して以下のようにしたい
てすと170608.txt
それではバッチファイルです。
以下を参考にして少し並び替えと説明を追加しました。
ファイル名の一部削除を行うバッチファイルが欲しいのですが
使用する場合は自己責任にて、
また、いらないファイル等でテストしてからにして下さい。
いきなり実戦投入して戦死しないように!!
なを、動作は Win7、Win10 で確認です。
echo off rem ↓ここにリネームするフォルダ位置を書き込みます rem 空欄にするとバッチファイルがあるフォルダになりますが rem OS によりデフォルトのフォルダが違うかもしれないので rem 空欄の場合は特に注意、出来る事なら指定してご使用下さい。 rem 例 R:\ set fol=R:\ rem ↓ここにファイル名から除外したい文字を入力 rem 例 _TestName_ set keyword=_TestName_ cls echo. echo 作業フォルダ名 %fol% echo %keyword% の名前がついているファイルから %keyword% を削除 echo. Pause setlocal enabledelayedexpansion cd /d "%fol%" for /f "tokens=*" %%i in ('dir /b ^| findstr /i "%keyword%"') do ( set a=%%i ren "!a!" "!a:%keyword%=!" )
上の文章を 適当な名前.bat として保存して
実行です。
ちなみにフォルダの設定を間違えて、
・・・やる人はいないと思いますが system とかの場所で
変更文字を a とかに指定して実行すると
Windows が起動しなくなりますので注意。
以上。
この記事へのコメント