@echo offsetlocal enabledelayedexpansion:: 0:当重命名后文件名称冲突则此文件不重命名:: 1:当重命名后文件名称冲突则强制重命名此文件:: 2或任何字符:当重命名后文件名称冲突则询问是否重命名set choose=2:: 批量重命名的文件夹:: 当前目录则用 .:: 拖入式(将文件夹拖到此文件上)则用 %0:: 可在设置时设置文件夹的位置,用双引号括起来,最后均不用加上"\"set file=.::文件夹中操作对象的后缀名set suffix=jpg::删去的字符set a=aaa::删去的字符的位数set b=3for %%i in ("%file%\*.%suffix%") do ( set c=%%i if !c:~1,%b%!==%a% ( if exist !c:%b%! ( if ("%choose%" neq 0) and ("%choose%" neq 1) ( choice /c YN /T 10 /D Y /M "确认请按Y,否认请按N。" if !errorlevel!==1 ( ren "%%i" "!c:~%b%!" && echo 已修改. ) else (echo 已跳过.) ) if ("%choose%" equ 1) (ren "%%i" "!c:~%b%!" && echo 已将%%i强制修改.) ) else ( ren "%%i" "!c:~%b%!" ) ))set c=set choose=set file=set suffix=set a=set b=echo 重命名已结束.pause & exit在问题的基础上做了很大扩充