下面的代码出了什么问题,如果它干净地返回,那么只会报告某些内容:
echo Other operations here & (echo Trying to launching Firefox & "%ProgramFiles(x64)%"\Mozilla\Firefox\Firefox.exe && echo Firefox has closed successfully) & echo More operations that should be done regardless here
答案 0 :(得分:1)
我相信你的语法是正确的,但你的期望是错误的。
您正在启动一个Windowed应用程序 - 您的命令不会等待Firefox在继续之前关闭。您的代码可能正确报告Firefox已启动。只有当Firefox无法 启动 (可能它在机器上不存在)时,才会绕过您的条件代码。
通常,如果你想在继续之前启动一个Windowed应用程序并等待它完成(关闭),那么你将使用START / WAIT。
echo previous command & (start /wait "" yourApp.exe && echo successful closure) & echo additional commmands
但是,我不确定它是否适用于像Firefox这样的浏览器。许多浏览器由多个可执行文件组成。启动可执行文件可以启动辅助procsses然后关闭。您的命令很高兴地报告启动exe返回成功,即使浏览器仍然在运行。同样,我不确定Firefox的行为是否像这样。但如果确实如此,则问题变得更加困难。您必须运行一个轮询以查看Firefox是否仍处于活动状态的进程。
答案 1 :(得分:0)
很抱歉,这个语法有效,周围的代码还有其他问题,我没有意识到。不要以为任何人都知道调试DOS“脚本”的更好方法,它几乎和VBS错误消息一样糟糕!