Firefox结束工作后,暂停中的批处理文件继续执行,并将关闭

时间:2019-01-28 03:40:35

标签: batch-file continue pause

我有一个批处理文件,用于检查Internet连接,如果连接Internet已建立,请使用宏启动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完成这项工作需要多长时间,所以我使用了pause命令。

1 个答案:

答案 0 :(得分:1)

批量使用非常有限。但是,您有两个选择。

第一个是您可以使用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.