bat处理文件名含有!感叹号的特殊符号
bat批处理中添加setlocal enabledelayedexpansion时,感叹号就会被过滤掉,批处理中含有感叹号!的时候就会不准确,得到的是文件名中就会被过滤掉!
在批量重命名时,会出错,解决方法时:在获取文件名后再进行setlocal enabledelayedexpansion,完整代码:
@echo off
pause
set m=1000
for %%i in (*.jpg,*.png,*.bmp,*.gif,*.jpeg,*.txt) do (
set /a m+=1
set f=%%i
setlocal enabledelayedexpansion
set n=!m:~-3!
echo !n!
echo.!f!
ren !f! !n!%%~xi
endlocal
)
pause