如何将以下内容编写为Windows批处理文件?
while(x>y && z<x){
// Do something
}
由于
答案 0 :(得分:2)
批处理中没有真正的while循环,但您可以使用GOTO语句实现相同的目的:
SETLOCAL EnableDelayedExpansion
:LOOP
IF NOT !x! GTR !y! GOTO ENDLOOP
IF NOT !z! LSS !x! GOTO ENDLOOP
<code>
GOTO LOOP
:ENDLOOP
<more code>
首先你要检查是否!x!大于!y!。如果是这种情况,你继续。然后你正在检查是否!z!不到了!x!。如果是这种情况,你会继续循环体。如果其中一个条件被破坏,则脚本跳出循环并转到:ENDLOOP标记下面的代码。 否则它会执行正文并跳回:LOOP。
当x,y和z的值发生变化时(否则你会有一个无限循环),你需要SETLOCAL EnableDelayedExpansion
并使用!var!
而不是%var%
访问变量来强制在运行时而不是在解析时进行变量评估。