Пакетный файл в паузе продолжит выполнение после того, как firefox завершит работу и закроет - PullRequest
0 голосов
/ 28 января 2019

У меня есть пакетный файл, который проверяет интернет-соединение, если интернет-соединение установлено, запустите 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 голосов
/ 28 января 2019

Пакет очень ограничен в вашем использовании.Тем не менее, у вас есть две опции:

Первая из них заключается в том, что вы можете использовать timeout, чтобы позволить пакетному сценарию подождать несколько секунд, прежде чем продолжить.Проблема в том, что, как вы сказали, вы не знаете, сколько времени может занять ваш макрос-процесс.

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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...