復制代碼@echo offsetlocal enabledelayedexpansionfor %%a in (*(*)) do ( set "filename=%%~na"
rem 去掉括號及句點之後的數字部分
for /f "tokens=1 delims=(" %%b in ("!filename!") do set "filename=%%b" for /f "tokens=* delims=.0123456789" %%b in ("!filename!") do set "filename=!filename!%%b"
rem 在數字前添加橫杠
set "newname=!filename!" for /f "tokens=1* delims=0123456789" %%b in ("!filename!") do ( if not "%%c"=="" set "newname=%%b-%%c"
)
rem 重命名文件
if not "!newname!"=="!filename!" ren "%%~fa" "!newname!%%~xa"
)echo Done.
基本思路:使用循環來遍歷所有括號和數字相間且帶有後綴的文件名,然後針對每個文件名分別進行修改。對於每個文件名,通過借助set命令和字符處理功能來去掉字符串中的括號和數字,並添加橫杠。最後,使用ren命令將文件重命名為新的文件名。請註意,在運行此代碼之前應該先備份數據,以防止錯誤操作導致不可逆的數據損失。