Plik wsadowy w pauzie kontynuuje wykonywanie po zakończeniu pracy Firefoksa i zostanie zamknięty

0

Mam plik wsadowy, który sprawdza połączenie internetowe, jeśli połączenie internetowe jest uruchomione, uruchom Firefoksa z makrem i idź dalej.

W tym czasie fiefox współpracuje z makrem, po zakończeniu firefox praca jest automatycznie zamykana.

Teraz muszę kontynuować kod partii otwartej po tym, jak Firefox zakończył prace i zostanie zamknięty, ale plik wsadowy zostanie ponownie pauzowany.

Czy istnieje rozwiązanie, aby kontynuować otwieranie pliku wsadowego bez interwencji użytkownika?

W Firefoxie mogę uruchomić inny plik wsadowy lub oprogramowanie (używając javascript), ale muszę kontynuować wykonywanie otwartego pliku wsadowego i nie mogę znaleźć żadnego rozwiązania, aby kontynuować plik wsadowy.

To jest kod mojego pliku wsadowego (ping, aby sprawdzić połączenie, dźwięk, aby ostrzec mnie, uruchom Firefox z makrem, wstrzymaj plik wsadowy)

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

Nie wiem, ile czasu zajmuje Firefoksowi ukończenie zadania, więc używam polecenia pauzy.

placidomaio
źródło

Odpowiedzi:

0

Możesz dodać /WAITparametr do linii uruchamiającej Firefoksa.

IF NOT ERRORLEVEL 1 start "" /WAIT "D:\Programmi Installati\Firefox\FirefoxPortable.exe" imacros://run/?m=work.iim

Będzie to wtedy czekać, aż Firefox zakończy działanie, zanim przejdzie do następnego wiersza pliku wsadowego.

Uwaga: nie wszystkie pliki wykonywalne będą działać w ten sposób. Na przykład, jeśli zastosujesz to podejście do uruchomienia programu Microsoft Word (winword.exe), plik wsadowy będzie kontynuowany bez oczekiwania na zakończenie programu Word. Wynika to z faktu, że Winword.exe to skrót, który uruchamia główną aplikację Word, a następnie kończy działanie.

Więcej informacji można znaleźć w tym opisie polecenia Start .

Doug Deden
źródło
Wkrótce spróbuję rozwiązania i poinformuję o wynikach, dzięki
placidomaio
Wypróbowałem rozwiązanie i nie działa, ponieważ plik wsadowy kontynuuje wykonywanie poleceń ignorujących / WAIT.
placidomaio
Możliwe, że mój test (FireFox.exe) przestrzega /Waitparametru, ale twoja sprawa (FireFoxPortable.exe) nie. Być może FireFoxPortable.exe to tylko skrót, podobnie jak program winword.exe.
Doug Deden
Możliwe jest, że imacros: // run /? M = work.iim jest niezgodny z poleceniami / WAIT, po lancowaniu pliku wsadowego kontynuuje wykonywanie poleceń i firefox nie ma czasu na ukończenie pracy.
placidomaio
Więc wyjmij imacros...część i zobacz, co się stanie. Jeśli Firefox się uruchomi, ale plik wsadowy czeka na zamknięcie Firefoksa, to wiesz, że ten imacrosparametr jest przynajmniej częściowo winny. Ale jeśli plik wsadowy będzie kontynuował przetwarzanie, to coś w sposobie uruchamiania FireFoxPortable.exe powoduje, że plik wsadowy myśli, że Firefox się skończył.
Doug Deden