特定の文字列を持つファイルを一括でリネームするバッチファイルを作成しております。
そこで、下記のバッチファイルを使用しているのですが、
実際に実行すると最初の1ファイルのみ実行され、2ファイル目以降には実行されていません。
記述方法が間違っているのか、アドバイスをお願い致します。
~前の処理~ cd C:\Users\share\Desktop\exp1 for %%f in ( * ) do call :sub1 "%%f" :sub1 set fname=%1 set fname=%fname:_mark=% ren %1 %fname% cd C:\Users\share\Desktop\exp2 for %%f in ( * ) do call :sub2 "%%f" :sub2 set fname=%1 set fname=%fname:_mark=% ren %1 %fname% cd C:\Users\share\Desktop\exp3 for %%f in ( * ) do call :sub3 "%%f" :sub3 set fname=%1 set fname=%fname:_mark=% ren %1 %fname% ~以降の処理~ ``` 目的として、C:\Users\share\Desktop\exp1.2.3のフォルダに 末尾「_mark」が付与されているファイルが複数あります。 >例 abcd_1234_mark.xls efghs_56_mark.pdf このファイルの「_mark」を削除したファイル名にしたいと考え、上記batファイルに しております。 しかし、実行すると各ディレクトリ1ファイルしか適用されず、他のファイルは 「_mark」が付与されたままになっております。 loop処理をさせると処理が完了せず、バッチが終了しなくなります。 お知恵をお貸し頂くよう、よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/27 01:52
2018/03/27 01:54