こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

サブフォルダ内含め全てのファイル名を一括置換する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を使うことができないため、何とかバッチ処理で楽をしたいのですがかなり煮詰まってしまい。。。
どなたかアドバイスをお願いできないでしょうか。
よろしくお願いいたします。

投稿日時 - 2018-06-20 22:46:59

QNo.9510351

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.1

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

投稿日時 - 2018-06-20 23:55:41

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-