
批處理如何【子孫玄曾~文件夾名】批量搜索修改最后由 youxianwei 于 -4-25 16:55大神求助,如何子孫玄曾文件夾文件名批量搜索修改?以下參考代碼只能批量修改【子~文件夾名】[code]title 批量替換【子夾名】echo.set /p str1= 請輸入替換前的【子夾名】的關鍵詞(可替換空格):set /p str2= 請輸入替換后的【子夾名】的關鍵詞(去除則直接回車):echo.echo 正在替換【子夾名】……for /f delims= %%a in ('dir /b/ad') do (set str=%%aren %%a !str:%str1%=%str2%!)以前版主的參考代碼如下》@echo off& setlocal enabledelayedexpansion title 批量替換【子孫件夾名】 echo. set /p str1= 請輸入要替換【子孫件夾名】 的舊關鍵詞(可替換空格): set /p str2= 請輸入替換后【子孫件夾名】 的新關鍵詞(去除則直接回車): echo. echo 正在替換文件名。。。for /f delims= %%a in ('dir /a-d /s /b') do ( if %%~nxa neq %~nx0 ( set f=%%~na set f=!f:%str1%=%str2%! if not exist %%~dpa!f!%%~xa ren %%a !f!%%~xa ) ) echo 替換文件名完成 echo 正在替換文件夾名。。。 【這段代碼有個bug就是【新關鍵詞】如果含【舊關鍵詞】就會給【子孫夾】無限命名超長以致死機!!!】set n=0 for /f delims= %%i in ('dir /ad /s /b ^|find %str1%') do ( set t=%%~ni set t=!t:%str1%=%str2%! if not exist %%~dpi!t! ren %%i !t! 2>nul set /a n+=1 ) if !n! neq 0 goto folder echo 替換文件夾名完成

