批处理文件退出后自动重新启动批处理文件

4

目前我有一个批处理文件在运行:

cd "C:\Users\chriscrutt\Desktop\"
:loop
Start /w yeet.bat
goto loop

这里运行的是 "yeet.bat"。有时命令提示符会崩溃,但我需要它自动重新启动。这就是我使用 "/w" 的原因,但它要求我在询问 "Terminate batch job (Y/N)?" 时手动输入 "N"。有没有办法使它自动重新启动或者自动回答 "N" 以重新启动呢?
具体操作如下:我运行批处理文件,它运行 yeet 文件,然后运行其他程序。"yeet.bat" 的代码如下:
title ETHBTC
cd "C:\Users\chriscrutt\Google Drive\gekkoETHBTC"
node gekko

当我执行"node gekko"时,它会运行机器人。

1
你需要提供更多关于yeet.bat的信息,最好包括它的内容以及你所说的有时崩溃的原因。我敢打赌,崩溃的是一个外部工具/可执行文件。 - Compo
1
尝试:调用 yeet.bat - Squashman
它不会在单独的窗口中打开,所以如果关闭了它就不会重新启动。 - chriscrutt
@lit如果给cd命令,就不需要空格。cd命令只接受一个参数,所以它将整个行作为单个参数处理,包括空格在内。 - Klitos Kyriacou
使用 /b 命令让它在同一个窗口上运行了数百个实例...不知怎么搞的,我只是将文件剪切并粘贴到 Google Drive 中进行安装。 - chriscrutt
显示剩余15条评论
1个回答

6
这段代码可以帮你实现所需功能:每当 yeet.bat任何原因结束时,它将会被“立即自动”重新启动。
cd "C:\Users\chriscrutt\Desktop\"
:loop
Start yeet.bat | set /P "="
goto loop

我真的很想知道有人为什么对这个答案进行了负投票的原因。如果是因为缺乏解释,我认为 | 管道操作和 set /P 命令的使用方法应该是所有批处理文件用户都知道的。如果需要进一步的解释,请随时要求! :( - Aacini
不知道为什么会被踩。我在看到并测试了答案后就给你点了赞。 - dbenham
@dbenham: :) 我邀请您查看这个答案 - Aacini
我很好奇 | set /P "=" 是什么意思,如果没有它,我发现它只会无限地生成其他批处理文件。 - captDaylight
1
可能是downvoter和“|set /P“=“有问题。我尝试了它,但不起作用,只有在删除引号后才能正常工作。引号干扰了goto语句,导致它失败。 - Gareth Compton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接