本帖最后由 went 于 2020-4-19 12:54 编辑
ANSI编码- @echo off
- REM 主文件夹
- set "folder=C:\Users\lenovo\Desktop\[NASI.si-银河系] ABS 2015.02.25 No.1100"
- REM 要替换的字符串
- set "key1=[NASI.si-银河系] ABS "
- REM 替换成的字符串
- set "key2="
- :loop
- REM 重命名子文件夹
- for /f "delims=" %%i in ('dir /s /b /ad "%folder%\*%key1%*" ^| sort /r') do call :renameFolder "%%~i"
- REM 检查,长路径错误
- dir /s /b /ad "%folder%\*%key1%*" >nul 2>nul && echo again... && goto :loop
- REM 重命名主文件夹
- for /f "delims=" %%i in ("%folder%") do call :renameFolder "%%~i"
- pause&exit
- :renameFolder
- set "dir=%~nx1"
- call set "dir=%%dir:%key1%=%key2%%%"
- echo %~1
- echo %dir%
- rename "%~1" "%dir%" && echo 成功! || echo 失败!
- echo ----------------------------------------------------
- goto :eof
复制代码
|