Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 无限循环Windows批处理文件?_Loops_Batch File_Infinite Loop - Fatal编程技术网

Loops 无限循环Windows批处理文件?

Loops 无限循环Windows批处理文件?,loops,batch-file,infinite-loop,Loops,Batch File,Infinite Loop,我让这个bash脚本在Linux中循环运行,Windows做这个的等价物是什么 while ./process.sh; do sleep 1; done 我有一个windows批处理文件,只要返回代码为0,我就想运行该文件。我想您正在寻找这样的文件: :LOOP timeout /T 1 /NOBREAK call "\path\to\your\process.sh\equivalent\batch\file" if not ErrorLevel 1 goto :LOOP 注意:这在命令行上

我让这个bash脚本在Linux中循环运行,Windows做这个的等价物是什么

while ./process.sh; do sleep 1; done

我有一个windows批处理文件,只要返回代码为0,我就想运行该文件。我想您正在寻找这样的文件:

:LOOP
timeout /T 1 /NOBREAK
call "\path\to\your\process.sh\equivalent\batch\file"
if not ErrorLevel 1 goto :LOOP

注意:这在命令行上不起作用。您需要将此代码放在批处理文件中。

我想您正在寻找类似以下内容:

:LOOP
timeout /T 1 /NOBREAK
call "\path\to\your\process.sh\equivalent\batch\file"
if not ErrorLevel 1 goto :LOOP
注意:这在命令行上不起作用。您需要将此代码放在批处理文件中。

cmd/q/e/c“for/l%%a in()do(call process.cmd | | exit)&>nul timeout/t 1”
如果要从命令行测试它,请将
%%a
更改为
%a

cmd/q/e/c“for/l%%a in()do(call process.cmd | | exit)&>num timeout/t1”

如果要从命令行对其进行测试,请使用
%a
更改
%a
超时必须放在
调用之前;否则超时将修改批处理文件返回的errorlevel。感谢您的提示,@Aacini,我忘记了。。。请参见我的…
超时必须放在
调用之前
;否则超时将修改批处理文件返回的errorlevel。感谢您的提示,@Aacini,我忘记了。。。看看我的…我也是@MCND,你为什么要使用
cmd/C
?我认为没有必要,是吗?只是因为
/Q
??@aschipfl,不,这是因为我不知道调用方批处理文件中的进程是否需要在这一行之后继续。如果我在批处理上下文中运行无限
for/l
,我只能使用
退出
,但批处理文件将结束。在一个单独的
cmd
实例(将在命令行上下文中运行代码)中启动无限循环,我可以使用
exit
exit/b
离开循环并继续运行调用者批处理文件。啊,我明白了——非常感谢您的解释!只需注意,
exit
/B
无法使用,它将挂起…@aschipfl,否,已测试,并按指示工作。如果无限
for/l
在命令行上下文中运行(出现
cmd/c
的原因),那么
exit/b
可以强制循环结束。但是,如果无限
for/l
在批处理上下文中执行(没有
cmd/c
)你只能用一个
exit
excelent来离开它…我想在命令行中使用一个循环,而这个循环很快就完成了!!!THX~~~~我也是!@MCND,你为什么要用
cmd/C
?我认为没有必要,是吗?只是因为
/Q
?@aschipfl,不,因为我不知道进程是否在调用r批处理文件需要在此行之后继续。如果我在批处理上下文中运行无限
for/l
,我只能使用
exit
离开它,但批处理文件将结束。在单独的
cmd
实例中启动无限循环(该实例将在命令行上下文中运行代码)我可以使用
exit
exit/b
离开循环并继续运行调用者批处理文件。啊,我明白了——非常感谢您的解释!只需注意
exit
/b
不能使用,它将挂起…@aschipfl,不,已测试,并按指示工作。如果无限
for/l
正在命令林中运行e context(出现
cmd/c
的原因,那么
退出/b
可以强制循环结束。但是,如果无限
for/l
在批处理上下文中执行(没有
cmd/c
)你只能留下一个
exit
excelent…我想在命令行中使用一个循环,而这个循环很快就完成了!THX~~~还有一个关于无限循环的问题…我试图使用第二个答案,但它对我不起作用。什么不起作用?为什么?你收到错误消息了吗,或者到底发生了什么?在那里另一个是关于无限循环…我试图使用第二个答案,但它对我不起作用。什么不起作用?为什么?你收到错误消息了吗,或者到底发生了什么?