Firefox 完成工作后暂停的批处理文件继续执行并将关闭

Batch file in pause continue execution after firefox finish the work and will close

我有一个检查互联网连接的批处理文件,如果互联网连接正常,使用宏启动 firefox 并继续暂停。

这段时间fiefox配合宏工作,firefox完成工作后自动关闭

现在我需要继续在 firefox 完成工作后打开的批处理代码,将关闭但批处理文件暂停。

是否存在无需手动干预即可继续打开批处理文件的解决方案?

使用 firefox 我可以 运行 另一个批处理文件或软件(使用一些 javascript)但是我需要继续执行打开的批处理文件,我找不到任何解决方案来继续批处理文件。

这是我的批处理文件的代码(ping 检查连接,声音提醒我,用宏启动 firefox,暂停批处理文件)

PING -n 5 www.wikipedia.org|FIND /I "TTL">NUL
IF NOT ERRORLEVEL 1 rundll32 user32.dll,MessageBeep 0x00000010L
IF NOT ERRORLEVEL 1 start "" "D:\Programmi Installati\Firefox\FirefoxPortable.exe" imacros://run/?m=work.iim
IF NOT ERRORLEVEL 1 PAUSE

我不知道firefox需要多长时间才能完成作业,所以我使用暂停命令。

批处理在您的使用中非常有限。但是,您有两个选择。

首先,您可以使用 timeout 让批处理脚本在继续之前等待 x 时间。这样做的问题是,正如您所说,您不知道您的宏过程可能需要多长时间。

PING -n 5 www.wikipedia.org|FIND /I "TTL">NUL
IF NOT "%ERRORLEVEL%"=="1" (
    rundll32 user32.dll,MessageBeep 0x00000010L
    start "" "D:\Programmi Installati\Firefox\FirefoxPortable.exe" imacros://run/?m=work.iim
    TIMEOUT /T 60 /NOBREAK
)

第二个选项是(如果可能的话)让 imacros 在完成后关闭浏览器的所有实例。您可以让批处理脚本在继续之前查找要终止的进程。请记住 TIMEOUT /T 5 /NOBREAK >NUL 的原因是允许浏览器实际打开几秒钟。请将 myapp.exe 的两个实例都更改为您的 firefox 进程名称。

PING -n 5 www.wikipedia.org|FIND /I "TTL">NUL
IF NOT "%ERRORLEVEL%"=="1" (
    rundll32 user32.dll,MessageBeep 0x00000010L
    start "" "D:\Programmi Installati\Firefox\FirefoxPortable.exe" imacros://run/?m=work.iim
    TIMEOUT /T 5 /NOBREAK >NUL
    goto Search
)

:Search
tasklist /FI "IMAGENAME eq myapp.exe" 2>NUL | find /I /N "myapp.exe">NUL
if "%ERRORLEVEL%"=="0" (
    TIMEOUT /T 5 /NOBREAK >NUL
    goto Search
)
if "%ERRORLEVEL%"=="1" (goto Continue)

:Continue
Echo Macro has finished! Continue code here.