[Batch] Verschieben nach beendigung eines programms?

jackie05

Erfahrenes Mitglied
Hallo,
wie kann ich einen bestimmten Ordnerinhalt erst Verschieben lassen, wenn ein bestimmtest Programm beendet ist?
Also er soll erst Prüfen ob z.B. ProgrammA geöffnet ist, wenn ja, dann soll gewartet werden, bis ProgrammA beendet ist und dann erst den Ordnerinhalt verschieben lassen.

Hier ist mal mein versuch:
Code:
@echo off 
start /wait "E:\test.exe"
move /Y "E:\test\"*.* "E:\test2\" 
pause

Verschieben funktioniert, es soll aber erst verschoben werden, wenn das jeweilige Programm nicht geöffnet ist.
Also es soll darauf gewartet werden, wenn das Programm geöffnet ist, bis es geschlossen wurde und dann erst verschieben.
Wie mache ich das jetzt ambesten?

Ich bedanke mich schonmal im Voraus.

MfG
 
Zuletzt bearbeitet:
Hi!

Dein Ansatz ist gar nicht mal so schlecht.

Du hast aber einen kleinen Fehler gemacht: Du startest das Programm "test.exe" mit dem "start"-Befehl.

Versuch einfach mal das Programm ohne start aufzurufen (einfach den Pfad zur exe angeben), dann sollte die Batchdatei erst weiterlaufen sobald das Programm durchgelaufen ist (bzw. du es beendest.

Wenn du allerdings "start" verwendest wird das Programm/der Prozess in einer neuen Instanz gestartet und die Batch läuft weiter.

Versuch das einfach mal...

lg Michael
 
Zuletzt bearbeitet:
Du kannst es auch mit einer einfachen Schleife tun:
Code:
:start
tasklist | findstr /i "test.exe"
if %errorlevel%==0 goto start
Wird die exe in der aktuellen Task-Liste nicht gefunden, fängt die Abfrage von vorne an. Andernfalls geht es weiter.

Grüße
 

Neue Beiträge

Zurück