• ベストアンサー

フォルダ内のファイル名を一括変更したい

windows10を使っています。 指定したフォルダ内のファイル名を一括変更したいです。 具体的には、以下のようにファイル名内の空白を「_」に置換したいです。 変更前:スクリーンショット 2021-01-01 104535.jpg ↓ 変更後:スクリーンショット_2021-01-01_104535.jpg バッチファイルで手軽に実行できるとうれしいです。 やりたいことの具体例: 空白置換.batを実行したら、空白置換.batが置いてあるフォルダ内のファイル名が一括変更できる。 空白置換.bat内で、変更対象とする拡張子を指定できる。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

テストしてませんが、 pushd フォルダー名 for %%A in (*.jpg) do call :rename "%%~A" popd exit /b :rename set A=%1 ren %1 %A: =_%

yoshi1401
質問者

お礼

今回、バッチが置いてあるフォルダ内のファイル名を一括変更したかったので、調べて1行目を変更し、以下のようにして使ってみました。 -- pushd %~dp0 for %%A in (*.jpg) do call :rename "%%~A" popd exit /b :rename set A=%1 ren %1 %A: =_% -- お陰様で、思っていた結果が得られました。 これで、手軽に空白を含まないファイル名に変更できます。 ベストアンサーとさせていただきます。 ありがとうございました。

その他の回答 (2)

  • suiton
  • ベストアンサー率21% (1110/5263)
回答No.2

自分はフリーソフトの「ファイル名変更君」を使用しています。 ご希望のとおりの置換が可能かどうかは未確認ですが、重宝しています。

yoshi1401
質問者

お礼

教えていただいたフリーソフトを使用すると、いろいろ便利にファイル名が変更できそうですね。 今回(ファイル名内の空白置換)は別の方法を使うことにしましたが、別の用途(もっと複雑な変更をしたい時)に使ってみることがあるかもしれません。 よさそうなソフトの紹介を、ありがとうございました。

回答No.1

最後は、計算表ソフトウエアを使って、ファイル名変更バッチファイルを生成かな。他に有効な回答が無い場合の、最後の手段ね。

yoshi1401
質問者

お礼

同じような発想で、「コマンドプロンプトでファイル名を取得→エクセルを使ってファイル名変更のコマンドを作成→コマンドプロンプトにコマンドをコピペで実行」というのが、今までやっていた手順でした。 今回、もっと手軽にできないかなぁと思い、質問してみました。 回答ありがとうございました。

関連するQ&A