括弧()を含むファイル名を括弧()内部の文字ごと削除した名前に変更したい

前提

ある講習会に参加した社員のレポート(PDF)を保存しているフォルダがあり、
ファイル名は全て「連番 (部署名_氏名).pdf」とついています。

実現したいこと

タイトルの通り、ファイル名の括弧()内部を全て削除して、

「連番 (部署名_氏名).pdf」→「連番.pdf」

というファイル名に変換するバッチファイルを作成したいです。

試したこと

参考にしたURLおよび記載されたコードを作成しました。

ファイル名 一括変換 バッチファイル 作成方法

bat

1@echo off 2rem ショートカットのつくファイル名を削除するバッチです。 3rem 10行目のコードを変えて色んな文字の変換が出来ます。 4rem ループで%%fをコールする 5for %%f in ( * ) do call :sub “%%f” 6exit /b 7rem コール先のバッチ 「- ショートカット」と付くファイル名を””(空白)に置換 8:sub 9set fname=%1 10set fname=%fname: – ショートカット=””% 11ren %1 %fname% 12pause

ここから、括弧()の全てを削除するコードにしようと書いたものが以下の通りです。

bat

1@echo off 2rem ファイル名を変更するバッチです。 3rem コードを変えて色んな文字の変換が出来ます。 4rem ループで%%fをコールする 5for %%f in ( * ) do call :sub “%%f” 6exit /b 7rem コール先のバッチ ( 文字 )と付くファイル名を”(空白なし)に置換 8:sub 9set fname=%1 10set fname=%fname: (*=_% 11set fname=%fname:(*=_% 12set fname=%fname:)=% 13ren %1 %fname% 14pause

発生している問題・エラーメッセージ

作成したバッチファイルをフォルダに移動しクリックで実行したところ、以下のように「指定されたファイルが見つかりません」と表示されて処理が終了します。

指定されたファイルが見つかりません。 指定されたファイルが見つかりません。 指定されたファイルが見つかりません。 指定されたファイルが見つかりません。

括弧()内の文字をワイルドカードで指定できると考えたのですが、上手くできませんでした。
ファイル名のつけ方が普通と違うというのは承知してますが、ご教示いただけますと幸いです。
よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

PC:Windows11

コメントを投稿

0 コメント