
【コマンドプロンプト】複数フォルダのファイル名一括置換の方法について
お世話になっております。
コマンドプロンプトを使用して、カレントフォルダ配下のすべてのフォルダに格納されているEXCELファイルの名称の最初に[LOCAL]という文字を加えたいと考えています。
ファイル一括置換を行うフリーソフト(ファイル名変換君など)では、可能なのですが、
対象のファイルは、バッチファイルで他のフォルダからファイルをコピーをしてきているため、ファイル名変更もコピーの際に一括でできないかと思い質問をさせていただきました。
現在、同じフォルダに格納されているファイルに対しては、下記にて実行はできています。
for %i in (*.xls) do ren %i [LOCAL]%i
しかし、カレントフォルダの配下すべてのフォルダを対象にしたいため、下記のように変更すると、エラーとなってしまいます。
for /r %i in (*.xls) do ren %i [LOCAL]%i
おそらく・・・変数%iに、ファイルのフルパスが格納されてしまい、思い通りの動作になっていないと推測しています。
どのように作成すればよいか教えていただけませんでしょうか。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
私の環境では、これでうまく行きました。
for /r %%i in (*.xls) do ren "%%i" "[LOCAL]%%~ni.xls"
参考URL:http://sgry.jp/pgarticles/batch.html

No.2
- 回答日時:
対象が
「現フォルダ(ディテクトリ)直下のフォルダ」が条件ですが
for /d %a in ( *.* ) do ren %a LOCAL_%a
で一応イケます。Windows2000SP4 の command ですが確認しました。
(/d で対象をフォルダのみに指定 )
(ren %a LOCAL_%a でフォルダ名の頭にLOCALを付ける)
ただ、原因不明ですが「頭にLOCAL_ を付ける」をなぜか2~3回行って
しまい、LOCAL_LOCAL_LOCAL_folder...
のような名前になってしまう事が頻発しました。
成功した事もあるので、なぜそうなるのかわかりません。
Windows のコマンドプロンプトによっても異なるかも知れないので、
事前にテスト環境でテストしてください。
リネームでファイルを失う事はありませんが、大量だと元に戻すだけでも
大変なので。
ならば、ということで、同じ構造を利用して
「フォルダ名を1つずつリネームするバッチファイルを作る」
という手を考えました。
最初にファイル BATCH.BAT が存在しない事を確認し、ある場合は削除して下さい。
既に他の用途に使ってるならファイル名を変更してください。
for /d %a in ( *.* ) do echo ren %a LOCAL_%a >>BATCH.BAT
これを実行するとバッチファイル BATCH.BAT が作られ、中身が
ren folder1 LOCAL_folder1
ren folder2 LOCAL_folder2
ren folder3 LOCAL_folder3
:
のようになりますから、そしたら BATCH.BAT を実行させてください。

バッチファイルを作成するという発想がありませんでしたので、
非常に参考になりました。
フォルダ名のrenameの際は、shokker02さんのコマンドを使用させていただきます。
ご回答いただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- その他(開発・運用・管理) コマンドプロンプトまたはpower shellなどを用いてのフォルダ内のファイル一括リネーム方法をご 4 2022/10/24 09:42
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1つのフォルダには何個までのフ...
-
沢山のフォルダにあるファイル...
-
ファイルをコピーしたとき、も...
-
移動先にないファイルのみをコ...
-
USBメモリの表示する「残り時間」
-
ファイルのプロパティの属性の...
-
新規フォルダが作成できず困っ...
-
ファイルパスのチルダの意味
-
フォルダーをコピーするとファ...
-
Macからファイルサーバー上の一...
-
MacからmicroSDを使って携帯で...
-
ADSLでページミルを使い続けるには
-
dbxファイルを開くには
-
フォルダの上書きコピーってで...
-
ファイルを大量に作りたい
-
スタートアップにアンインスト...
-
インターネット上のレンタルサ...
-
Winで表示されるファイルがMac...
-
ウルティマオンライン第3の夜明...
-
Windows7 フォルダの上書きコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
沢山のフォルダにあるファイル...
-
マイドキュメントのフォルダの...
-
onedriveで同期解除をしたら、...
-
1つのフォルダには何個までのフ...
-
ファイルパスのチルダの意味
-
USB内のフォルダが「ファイル」...
-
ファイルをコピーしたとき、も...
-
ファイルのプロパティの属性の...
-
Batファイルでxcopyを実行する...
-
動画のサイズと再生時間の長さの件
-
Windowsファイルエクスプローラ...
-
フォルダの上書きで、上書きさ...
-
USBメモリの表示する「残り時間」
-
【コマンドプロンプト】複数フ...
-
「切り取り」「貼り付け」間エ...
-
移動先にないファイルのみをコ...
-
非圧縮のZIPファイルを作りたい...
-
「隠しファイル・フォルダを別...
-
一つのフォルダに入るファイル...
-
copyコマンドについて
おすすめ情報