使用windows bat脚本中的变量控制while循环的开始和结束

时间:2012-11-03 07:52:50

标签: windows batch-file

我可以在DOS批处理文件中执行while循环,如下所示:

@REM initialize test value to be "true"
@SET intCounter=1

:while

@REM test condition
@IF %intCounter% GTR 10 (GOTO wend)

@REM procedure where condition is "true"
@echo %intCounter%

@REM set new test value
@SET /a intCounter=intCounter+1

@REM loop
@GOTO while

:wend

@PAUSE  

这将循环十次。 我的问题有两个方面。

  1. 我怎样才能控制循环的结束。我尝试设置end = 1并用%end%替换10,这不起作用。

  2. 如何从键盘读取输入并将其设置为iniCounter并结束。

  3. 非常感谢。

1 个答案:

答案 0 :(得分:2)

我不知道你做了什么,但是

@set end=5
:while
@IF %intCounter% GTR %end% (GOTO wend)

确实有用,或者

@set /p end="Enter the end:"

如果您希望用户输入

由于您的问题被标记为'windows',因此您可能会更好地使用

set /p start="From:"
set /p end="To:"
for /l %%i in (%start%, 1, %end%) do (
    echo %%i
)