我想写一个批处理文件,它会显示1到5之间的数字。 这是我的代码:
@ECHO OFF
FOR /l %%A in (1,1,5) do (
SET number=%%A
ECHO %number%
)
这是一个输出:
5
5
5
5
5
我的代码出了什么问题?
答案 0 :(得分:2)
您遗失了ENABLEDELAYEDEXPANSION
和!number!
而不是%number%
。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /l %%A in (1,1,5) DO (
SET number=%%A
ECHO !number!
)
在循环内部更改变量或结构时,您始终必须使用ENABLEDELAYEDEXPANSION
并将变量作为!var!
而不是%var%
来访问。