发布网友
共2个回答
热心网友
在bat文件中,多个命令写在一行或括号内,如果使用行内或括号内定义或修改的变量,需要启用延迟变量扩充,用叹号引用变量。bat文件中用 setlocal enabledelayedexpansion 启用延迟变量扩充,命令提示符窗口启用延迟变量扩充,用 cmd /v:on
ren命令中的文件名最好加引号,防止文件名包含空格等特殊字符造成的错误。
@echo off
setlocal enabledelayedexpansion
for %%i in (*.*) do (
set /a a+=1
if /i not "%%~xi"==".bat" ren "%%i" "!a!.txt"
)
pause
:: 其中 if /i not "%%~xi"==".bat" 防止bat文件被重命名
热心网友
@echo off&setlocal enabledelayedexpansion
::不包括文件夹
for /f "delims=" %%1 in ('dir/a-d/s/b')do (set/a a+=1
if "%%1" neq %0 ren "%%1" "!a!~n.txt")
pause