kirus22 10 Geschrieben 9. September 2006 Melden Teilen Geschrieben 9. September 2006 Hallo zusammen, ich brauch da mal einen Tipp von Euch. Und zwar mein Skript funktioniert nicht so wie ich mir das Vorstelle... Ich bekomm immer die Fehlermeldung "Kein Fehler gefunden" obwohl er ja einen Fehler finden sollte (Fehler im Backup. Bitte überprüfen Sie die LogDatei)... ----------------------------------Start--------------------------------------------------- @echo off set Backuppatch=%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data type "%Backuppatch%\backup01.log" >%tmp%\Log.txt findstr /C:"Der Vorgang wurde nicht ordnungsgemäß ausgeführt." "%tmp%\log.txt" if %errorlevel% == 0 Goto Fehler echo Kein Fehler gefunden pause :Fehler echo Fehler im Backup. Bitte überprüfen Sie die LogDatei pause -------------------------------------------Ende--------------------------------------------- Und hier noch die backup01.log Datei ----------------------------------------start--------------------------------------------- Sicherungsstatus Vorgang: Sicherung Aktives Sicherungsziel: Datei Mediumname: "Datensicherung.bkf wurde erstellt durch 09.09.2006 um 14:55" Sicherung von "C: - System -" Sicherungssatz #1 auf Medium #1 Sicherungsbeschreibung: "Erstellt am ..." Mediumname: "Datensicherung.bkf wurde erstellt durch 09.09.2006 um 14:55" Sicherungsart: Normal Sicherung begonnen am 09.09.2006 um 14:55. Der Vorgang wurde beendet. Sicherung abgeschlossen am 09.09.2006 um 14:55. Verzeichnisse: 2 Dateien: 18 Bytes: 1.508.746 Zeit: 2 Sekunden ---------------------- Der Vorgang wurde nicht ordnungsgemäß ausgeführt. ---------------------- ----------------------------------ENDE----------------------------------------------- Gruß Henning Zitieren Link zu diesem Kommentar
klaus_b 10 Geschrieben 9. September 2006 Melden Teilen Geschrieben 9. September 2006 Hallo Henning, du solltest beim StringHandling in BatchFiles wenn irgendmöglich auf Umlaute und Sonderzeichen verzichten. Lass den String wie folgt überprüfen: @echo off set Backuppatch=%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data type "%Backuppatch%\backup01.log" >%tmp%\Log.txt findstr /C:"Der Vorgang wurde nicht" %tmp%\log.txt if %errorlevel% == 0 Goto Fehler echo %errorlevel% echo Kein Fehler gefunden pause :Fehler echo Fehler im Backup. Bitte überprüfen Sie die LogDatei pause und es funktioniert. In Deinem LogFile ist die Zeichenfolge Der Vorgang wurde nicht bereits eindeutig. Damit umgehtst Du das Problem mit den Sonderzeichen und Umlauten, hast aber doch den relevanten Teil erkannt. Servus Klaus Zitieren Link zu diesem Kommentar
kirus22 10 Geschrieben 10. September 2006 Autor Melden Teilen Geschrieben 10. September 2006 Hallo zusammen, danke erst mal an Klaus. Es funktioniert jetzt :D . Nur jetzt hab ich noch ein Problem, und zwar legt Ntbackup ja log Dateien von backup01-10.log an, wie kann ich denn immer die Aktuellste auslesen Gruß Henning Zitieren Link zu diesem Kommentar
klaus_b 10 Geschrieben 10. September 2006 Melden Teilen Geschrieben 10. September 2006 Hallo Hening, hab mit Ntbackup nicht wirklich was am Hut ;) Als erstes musst Du raus kriegen was das Unterscheidungsmerkmal für das letzte Log ist, also die höchste Verisionnummer oder das neueste Datum. Unten mal ein Beispiel um mit einem Zähler das Verzeichnis zu durchlaufen und mit einem IF Statement einen Vergleich der Merkmale anstellen. Pseudo-Code Suche nach VersionNummer ungetestet echo off :: Zähler auf NULL setzen set i=0 :: ZählSchleife :loop IF %i% GEQ 9 GOTO check10 SET /A i=%i%+1 IF EXIST backup0%i%.log (GOTO ToWas) ELSE GOTO loop :check10 :: prüfen ob backup10 vorhanden IF EXIST backup10.log (GOTO ToWas) ELSE GOTO end :ToWas :: hier Datei verarbeiten :end ::EOF Ist zwar ungetestet, aber sollte funktionieren. Servus Klaus Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.