批量我试图制作循环特定次数的代码。它只会无限循环

时间:2017-10-12 21:26:09

标签: loops batch-file if-statement

@echo on 
set name=1
:loop
IF "%name%"=="1" (
echo name is 1
pause
set /a %name%=%name%+1
goto loop
) else (
done
pause
)

这是代码。它是批量的。我试图创建一个循环特定次数的脚本,然后回应它已完成。

2 个答案:

答案 0 :(得分:0)

set /a %name%=%name%+1

这会将name内容设置为名称+ 1的内容

set /a name=%name%+1

将按您的要求行事

set /a name=name+1

也支持语法。

小心! - %name%不一定是name当前内容 - 它实际上是代码块时name 的内容输入了*(带括号的行序列)。请参阅有关delayed expansion的无尽SO项目以获取更多信息...

答案 1 :(得分:0)

上述例子......

@echo off
set /a timer=0 | timeout -t 1 /nobreak>nul
:timerStart
echo This should echo 6 times.
set /a timer=%timer%+1
if %timer% leq 5 goto timerStart
if %timer%==6 goto nextPart
:nextPart
echo Thats all folks :P
exit

希望这有帮助!