• 締切済み

サブフォルダ内含め全てのファイル名を一括置換するw

サブフォルダ内含め全てのファイル名を一括置換するwindowsバッチ処理について ファイル名の「YYYYMM」部分を一括で変換したく以下の様なバッチ文を記載しました。 しかし置換処理がうまくいかず、ファイル名の後ろに入力文字列がくっついてしまいます。 set /p YYYYMM="年月を入力してください(yyyymm形式):" echo %YYYYMM% for /r %%f in ( * ) do call :sub %%f %YYYYMM% pause exit /b :sub echo %2 set fname=%~nx1 set fname=%%fname:YYYYMM=%2%% echo %fname% ren %1 %fname% goto :EOF 環境上、ファイル名リネームソフトやWindows Powershellを使うことができないため、何とかバッチ処理で楽をしたいのですがかなり煮詰まってしまい。。。 どなたかアドバイスをお願いできないでしょうか。 よろしくお願いいたします。

みんなの回答

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

call set fname=%%fname:YYYYMM=%2%%

関連するQ&A