.cmd Rückmeldung ob ein Programm fertig ist

CED999

Lieutenant
Registriert
Juni 2011
Beiträge
965
Hallo,

ich nutze abundzu .cmd Dateien um Jobs auf meinem Rechner ausführen zu lassen. Z. B. starte ich über die Aufgabenplanung manchmal .cmd's die z. B. enthalten dass Acronis gestartet wird und ein Image erstellt wird etc.

Manchmal hänge ich auch mehrere Aktionen mit timout nacheinander, dass könnte dann so ausssehen:

1. SymantecSystemscan
2. timeout 1,5h (Damit Symantec auch fertig ist)
3. Acronis Image und dann Rechner rungerfahren

Jetzt würde mcih interesiieren, ob es auch geht, dass die Kommandozeile eine Rückmeldung bekommt, dass z. B. Symantec fertig ist und dann Acronis startet... Für viele Aufgaben ist es sehr unbequem mit starren Zeitangaben dafür zu sorgen, dass ein Job erst startet wenn der andere fertig ist.

Ideen? Ratschläge?
 
Mh vielleicht verstehe ich das falsch, aber die Vorgehensweise von Batch ist ja die, dass der nächste Befehl erst startet wenn der davor aufgerufene Befehl/ damit verbundene Prozess beendet ist.

Sprich eine Batch mit folgendem Inhalt:

mspaint
ping google.de

Ruft zuerst Paint auf, und beginnt dann erst mit dem Ping sobald der Prozess mspaint.exe beendet ist (in diesem Falle müsste das durch den Benutzer passieren, der Symantec System Scan würde sich wahrscheinlich am Ende selbst beenden?)


Edit: kannst du mal den Inhalt deiner Batch zeigen?
 
poste mal deine Batch.

Da Batch Stapelverarbeitung ist, bleibt der Ablauf der Batch eh bei Punkt 1 stehen solange die aufgerufene .exe Datei läuft.

Eine 90minütige Pause ist sinnlos an der Stelle.


Wenn du den nächsten Befehl nur ausführen willst, wenn die erste .exe erfolgreich war, dann kannst du das mit If %ERRORLEVEL% EQU 0 auch abfragen und dann verzweigen.
 
Hallo,

also da der SymantecScan ca. 1h dauert würde ich es damit nicht testen wollen. Ich habe aber mal eine .cmd geschrieben mit:

"C:\Program Files (x86)\Microsoft Office\Office14\Winword.exe"
"C:\Program Files (x86)\Microsoft Office\Office14\Winword.exe"
notepad.exe

und wenn ich die anclicke öffnen sich sofort 3 Fenster 2mal Word und 1mal notepad - nix mit nacheinander...

Das mit dem warten geht so (vielleicht liegt das auch an .cmd und Win7 kein Plan):

start "" /wait "C:\Windows\notepad.exe"
notepad.exe

dann öffnet sich das zweite notepad-Fenster erst wenn ich das erste geschlossen habe...

Mein Problem ist jetz aber das manche Programme (wie Norton) unverständlicherweise nicht die Option haben Programm beenden nach Scan...

Mein bisheriger Workaround war halt mit timeout einfach lange abzuwarten bis der Job definitiv fertig sein müsste.. das sieht dann konkret so aus:

"C:\Program Files (x86)\Norton AntiVirus\Engine\18.7.0.13\NAVW32.exe" /L
timeout 5400
"C:\Program Files (x86)\Acronis\TrueImageHome\TrueImageLauncher.exe" /script:BD7E312C-42FC-40FE-8103-8C66EE3518B8


Das ist aber keine gute Lösung - gibt es nicht irgendeinen Trick, dass Windows "merkt" das Symantec fertig ist und dann sofort weitermacht...
 
am besten kein Programm mit einer GUI verwenden. Wenn, dann brauchst du einen AV Scanner der auf CLI Basis arbeitet.
 
Hallo,

"C:\Program Files (x86)\Microsoft Office\Office14\Winword.exe"
"C:\Program Files (x86)\Microsoft Office\Office14\Winword.exe"
notepad.exe

und wenn ich die anclicke öffnen sich sofort 3 Fenster 2mal Word und 1mal notepad - nix mit nacheinander...

was ich im vorhergehenden Post geschrieben habe war natürlich quatsch. Die Batch-Verarbeitung ist natürlich sequentiell - der Trigger für das Ausführen des nächsten Befehls, ist die Beendigung der vorangehenden .exe. Der falsche Eindruck hat sich bei mir durch eine falschen Forumspost (nicht dieses Forum) und eines falschen Tests meinerseits verfestigt - etwas schäm.....

Eine Lösung für das Beenden von Norton habe ich noch nicht gefunden - auch mit den Log's geht es wohl nicht...
Ergänzung ()

@frogger9 das wäre mir jetzt eine zu große Einschränkung den Virenscanner nach dem Kriterium CLI auszuwählen (ohne jetzt genau zu wissen was das ist)... Meine Norton Lizenz läuft ja auch noch...

Ich erkenn jetzt aber schon, dass sich Nortion sehr schlecht dafür eignet automatisiert Scans durchzuführen. Das man WEDER Pc runterfahren nach Beendigung NOCH Norton nach Job beenden auswählen kann ist schon ärgerlich....
 
CLI heisst einfach nur command line interface... also komplette Bedienung über die Konsole.

Was meinst du mit "auch mit den Logs gehts nicht" ? Schreibt Norton ein Logfile? Dies könntest du solange in einer Schleife durchsuchen lassen, bis Ende drinsteht und dann TrueImage starten.

Schreibt Norton evtl. Meldungen nach Scanabschluss in die Ereignisanzeige? Diese kann man mit Powershell auswerten. Irgendwo muss Norton doch hinschreiben wenn er fertig ist.

Hast du denn mal im Norton Ordner nachgesehen ob da nicht eine weitere .exe liegt, mit der du von der Kommandozeile aus das Programm bedienen kannst?
 
@m1-jdgag: also es gibt eine aktuellere Version für die Parameter wie man Symantec aus der Commandline bedient, das findet sich hier:

https://www-secure.symantec.com/norton-support/jsp/help-solutions.jsp?version=current&product=Norton+AntiVirus&lg=german&ct=germany&layout=Retail&actstat=not+activated&substatus=trial&ncoap=1&pvid=f-nav-cur&docid=v8278351_NAV_Retail_2012_de_de&partner=&ispid=&sitename="

Das kannte ich auch schon nur leider kann man damit nur einen Scan starten, ich kann damit aber nicht das Fenster wieder schließen lassen, was aber wichtig wäre damit die Batch dann den nächsten Befehl ausführt.

@easy.tci: Das war die Idee, dass ich die Logdatei überwache (wenn ich sowas auch noch nie gemacht habe), das ist jetzt aber daran gescheitert, dass ich laut Norton support die Datei nicht im Klartext gespeichert wird und nur später aus der Software exportiert werden kann....

Haaach ich glaube ich lasse das, das wird mir einfach zu schwierig - aber danke an euch!
 
Zurück
Oben