批处理for中的变量自加

2024-11-22 12:34:36
推荐回答(2个)
回答1:

将%na%改为!na!就可以使na的值在for中每次循环的值改变,详情请查询for变量延迟
@echo off
setlocal enabledelayedexpansion
set /a na=1
for %%m in (*.txt)do (
set /a na+=1
@echo !na!)
@echo %na%
set na=

回答2:

开启变量延迟就可以了
另外提醒你保存的文件名不能和内部命令相同
@echo off
setlocal enabledelayedexpansion
for %%x in (*) do (
if not "%%x"=="不能和内部命令相同.bat" (
set /a sum+=1
rename "%%x" "报告!sum!.doc"
))