我有一个看似微不足道的问题,但无法弄清楚。我正在编写一个批处理脚本,用一个特定的URL(可以工作)打开Firefox,然后做更多的东西(当单独执行时也可以工作)。但是,如果我将两个命令放在一个批处理脚本中,它们会背靠背执行。 我需要脚本等到Firefox关闭。这可能吗?
这就是我所拥有的:
echo step one
start /wait "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.google.com
echo step two
我想在关闭Firefox后才看到“第二步”。 I found this thread which seems very similar。但添加/wait
似乎没有帮助。我不太清楚如何根据我的需求调整已接受的解决方案。
非常感谢任何帮助!
编辑:这是我在我链接的线程中修改脚本的方式,但它会产生相同的结果:
echo step one
start /wait "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.google.com
:LOOP
PSLIST firefox >nul 2>&1
IF ERRORLEVEL 1 (
GOTO CONTINUE
) ELSE (
ECHO Firefox is still running
SLEEP 5
GOTO LOOP
)
:CONTINUE
echo step two
但是仍然会产生相同的行为。 :■
答案 0 :(得分:1)
试试这个:
echo step one
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.google.com
:s1
for /f "tokens=*" %%a in (`tasklist /FI "IMAGENAME eq firefox.exe" /FI "STATUS eq running"`) do (if "%%~a" EQU "INFO: No tasks are running which match the specified criteria." goto s2)
goto s1
:s2
echo step two
哪个应该有用
答案 1 :(得分:-1)
天啊!我刚解决了自己的问题。就这么简单:
echo step one
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.google.com
echo step two
我现在就在角落里哭泣......