![]() |
Batch: Programm soll nach 20 sekunden geschlossen werden
Ich möchte eine batch datei, weis aber nicht, wie ich es realisieren kann.
mein plan: x.bat wird ausgeführt firefox.exe öffnet sich 20 sekunden passiert nichts firefox.exe schließt sich nun weis ich, ich muss mit start C:\Programme\ff\firefox.exe das programm starten, aber wie mache ich die pause und das schließen des programms? |
die pause:
timeout /T 20 > nul das schliessen des programmes ist schon nen bissl schwieriger: per tasklist | find "firefox" findest du den prozess. jetzt musst du nur noch an die PID der ausgabe kommen. und per taskkill /PID N /T den prozess abschiessen. unter unix wuerde man die ausgabe von tasklist durch sed oder awk jagen um an die PID zu kommen. die befehle gibts unter windows nicht. google hier mal ein bisschen weiter. |
oder zum schließen einfach "taskkill /f /im firefox.exe" ;)
|
lol, warum einfach wenn's auch kompliziert geht ;)
|
okay meine batch datei sieht so aus:
Code:
start C:\Programme\ff\firefox.exe |
Code:
CMD /C START C:\Programme\ff\firefox.exe |
Das ist eine Eigenart von Batch, denn Batch-Dateien werden nach dem Prinzip der Stapelverarbeitung ausgeführt.
In diesem Beispiel kann man das Ganze wie folgt lösen: Code:
CMD /C START /b C:\Programme\ff\firefox.exe Viele Grüße, haze303 |
Ich gebe beim taskkill auch immer den Schalter /t an, damit werden auch alle darunter liegenden Prozesse "beendet".
|
Die PID des Prozesses ändert sich von Start zu Start, daher ist die Methode über den Abbildnamen via Schalter /IM geschickter.
Viele Grüße, haze303 |
Habe hier mal eine Batch selber probiert. Sie funktioniert tadellos.
Zur Erklärung: Start= startet das gewünschte Programm ping -n (Ziffer)= ist die gewünschte Zeit bis zum Beenden 127.0.0.1= ist die Localhost, der eigene Rechner >NUL= macht in diesem Fall den Zählvorgang unsichtbar Taskkill= beendet ausgewähltes Programm |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.