在定义的循环次数之后批量退出循环

时间:2016-03-24 00:05:00

标签: loops batch-file uninstaller

我希望在定义数量的循环(10 - 循环)中退出循环。我看了谷歌上的一些东西,但循环是做其他事情,所以我有点失落。

这是我的基本循环脚本,我希望你们中的一个能够教育我并指出我正确的方向。如果你想知道我在做什么,这就是原因,如果你有更好的选择,请告诉我。我对这个批处理脚本很新,我愿意接受建议。

此Uninstaller.exe不会暂停批处理脚本。所以我基本上是在寻找Uninstaller.exe,它将在Uninstaller.exe进程完成后删除。因此,一旦循环检测到可执行文件的删除,它将退出循环并继续执行脚本中的下一个操作。

我有几次uninstaller.exe在结束之前崩溃并删除了它自己并阻止批处理文件继续运行。所以我认为最好在退出之前让它循环一定次数。

docker-machine restart default

2 个答案:

答案 0 :(得分:0)

您可以使用" start"命令在不同进程上运行卸载程序。 您也可以利用其可选的" / WAIT"这将允许批处理等待进程完成继续。 毕竟你可能不需要循环。

即。 start /WAIT "C:\Program Files\App Name\uninstall.exe"

答案 1 :(得分:0)

这是我做的,似乎工作正常。

::Set Uninstaller Variable
SET AppToUninstall="C:\Program Files\App Name\uninstall.exe"

:: Uninstall App
"%AppToUninstall%" -quiet

::Loops for 12 times in 10 second intervals (Total 120 seconds) to confirm deletion. Loop will exit after 12 loops and move on if uninstaller is not deleted.
for /l %%i in (1,1,12) do (
TIMEOUT /T 10 >nul
IF NOT EXIST %AppToUninstall% GOTO ExitLoop
)
:ExitLoop