2013-03-24 15 views
7

Chcę utworzyć plik wsadowy, który uruchamia program i po 20 minutach zamknie program i uruchomi go ponownie.Plik wsadowy - restartuj program po każdych 20 minutach

Jedyne co wiem o pliku wsadowym jest jak uruchomić program:

@echo off 
Start [adress of application] 
+0

Będziesz prawdopodobnie chcesz użyć Schtasks.exe zaplanować zadania. Pozwoli to zaplanować zadanie na określony czas i ograniczyć czas jego działania. Jeśli chcesz bardziej konkretną odpowiedź, powiedz nam, z jakiego systemu operacyjnego korzystasz. –

Odpowiedz

2
@echo off 
:loop 
start yourtarget.exe ... 
timeout /t 1200 >null 
taskkill /f /im yourtarget.exe >nul 
goto loop 

powinno załatwić sprawę.

+0

Tak - znowu w prawo! Naprawiono ... – Magoo

+0

Otrzymuję błąd niepoprawne zapytanie: "timeout" nie jest rozpoznawany jako wewnętrzne lub zewnętrzne polecenie, program operacyjny lub program wsadowy. – mm1985

+0

timeout.exe to wbudowane narzędzie, które powinno być dostarczone z systemem Windows. Wygląda na to, że jest standardem od W2000 **, ale ** różne wersje mogą go nie uwzględniać. W moim systemie W7 Home Premium jest on w katalogu c: \ windows \ system32, aw wersji c: \ windows \ syswow64 jest dostępna wersja 64-bitowa. Spróbuj 'dir/s \ timeout.exe'. Jeśli plik znajduje się, upewnij się, że katalog, w którym się znajduje, jest zawarty w Twojej zmiennej PATH. Jeśli go nie ma, spróbuj Googling 'timeout.exe download' – Magoo

0

Dla każdego, napotykając tym starym pytaniem: Zamiast timeout.exe można również ping do adresu, który na pewno nie istnieje:

ping 999.199.991.91 -n 1 -w 60000 >NUL 

60000 można zmienić na cokolwiek chcesz opóźnić (w ms).

1 second = 1000 

10 seconds = 10000 

60 seconds = 60000 

I tak dalej ..

11

to działa:

@echo off       //Turn off screen text messages 
:loop        //Set marker called loop, to return to 
start "Wicked_Article_Creator" "C:\Wicked Article Creator\Wicked Article Creator.exe" //Start program, with title and program path 
timeout /t 1200 >null    //Wait 20 minutes 
taskkill /f /im "Image Name" >nul //Image name, e.g. WickedArticleCreator.exe, can be found via Task Manager > Processes Tab > Image Name column (look for your program) 
timeout /t 7 >null     //Wait 7 seconds to give your prgram time to close fully - (optional) 
goto loop       //Return to loop marker 
+1

Szukałem czegoś podobnego i działa absolutnie dobrze. Tylko jedna rzecz, wiersz polecenia jest widoczny przez cały czas. Czy można ukryć okno cmd i wyświetlać je tylko podczas uruchamiania exe, a następnie ukrywać je ponownie? –

Powiązane problemy