循环批处理多次打印相同的数字

时间:2015-09-23 11:18:01

标签: loops batch-file for-loop

我想写一个批处理文件,它会显示1到5之间的数字。 这是我的代码:

@ECHO OFF
FOR /l %%A in (1,1,5) do (
    SET number=%%A
    ECHO %number%
)

这是一个输出:

5
5
5
5
5

我的代码出了什么问题?

1 个答案:

答案 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%来访问。