批处理for中的变量自加

2024年11月22日 12:34
有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"
))