Batch Verstehe Codeablauf nicht

CED999

Lieutenant
Registriert
Juni 2011
Beiträge
980
Code:
if %dow% EQU 2 "C:\Program Files (x86)\Kaspersky Lab\Kaspersky Anti-Virus 2013\avp.com" START Scan_My_Computer /R:"D:\Benutzer\XXX\Batch\Backup  CuDuK\ErgebnisScanKaspersky.txt"

Echo %errors%
if %errors% EQU 0 "C:\Program Files (x86)\Microsoft Office\Office14\Winword.exe" 
pause

Das Ganze ist eine Batch Datei, die auf einer Win7-Maschine ausgeführt werden soll.
Die erste Zeile soll einen Kaspersky-Scan-job starten und die Ergebnisse in eine Datei protokollieren. Das funktioniert soweit.

In den letzten 3 Zeilen habe ich nun versucht was hinzubekommen was wohl etwas meine Fähigkeiten übersteigt. Ich wollte checken ob der Virenscan mit Kaspersky einen Fund erbracht hat und wenn nein sollte (testhalber) Word geöffnet werden. Danach sollte pausiert werden damit das Batch Fenster nicht zugeht.

Wenn ich das Prog nun laufen lasse, wird der Scan korrekt durchgeführt und dann schließt das Batch Fenster einfach. Ich habe dazu 2 Fragen:

  1. Die Variable %errors% gibt es vielleicht nicht - das war nur ein educated guess von mir. Aber das "pause" sollte doch auf Eingabe warten??

    2. Was ich eigentlich erreichen möchte ist, dass ausgewertet wird, ob der Scan einen Fund ergeben hat und nur für den Fall dass Errorlevel=0 ist (also kein Fund) wird fortgefahren.
    In der Kaspersky Anleitung steht im Kapitel "Befehlszeile" das was ich euch angehängt habe. Sie erwähnen aber mit keinem Wort in welcher Variable ich dann diese Werte der Rückgabecodes auslesen kann. Hat da jemand mehr Ahnung von/ Erfahrung wie der Name der Variable dann sein könnte. Oder ob das in der Windowsvariable Errorlevel gespeichert wird. Das Kaspersky-Forum ist nämlich eher scheintot, da bekomme ich keine Antwort...

    Hoffe ich habe mich einigermaßen klar ausgedrückt und hier sind ein Batch-Crack der das weiß

    Grüße an das Board!
 

Anhänge

  • teil1.JPG
    teil1.JPG
    20,1 KB · Aufrufe: 258
  • teil2.JPG
    teil2.JPG
    30,3 KB · Aufrufe: 285
Zuletzt bearbeitet: (Fehler-Korrektur)
Hi,

bin ich mir dann aber nicth sicher, ob das dann wirklich der Errorlevel des Programms Kaspersky ist, oder ob das dann der Windows-Errorlevel ist. Das müsste ich dann definitiv wissen, sonst geht das alles schief. Der Windows-Errorlevel wird nämlich=0 sein, egal ob ein Virus gefunden wurde oder nicht. (Da aus Windows-Sicht die Aktion Scan ausführen ja ordnungsgemäß beendet wurde.

Grüße

Weiß da niemand eine definitive Antwort?
 
Das Betriebssystem hat nach Beenden eines Prozesses nichts damit zu tun, welchen Wert der Errorlevel hat. Das liegt ausschließlich an der Anwendung. Würde aber grundsätzlich zur Auswertung der Log-Datei tendieren, wie bereits vorgeschlagen wurde.
 
Zurück
Oben