Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Probleme mit findstr

Frage Entwicklung Batch & Shell

Mitglied: Kirus22

Kirus22 (Level 1) - Jetzt verbinden

09.09.2006, aktualisiert 10.09.2006, 7510 Aufrufe, 9 Kommentare

Hallo zusammen,

ich habe folgendes Problem mit meinem Skript. Ich bekomme immer die Fehlermeldung " Kein Fehler gefunden" obwohl er einen Fehler finden sollte... was mache ich da falsch?

---------------------------------------Start Skript --------------------------------------------

@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

------------------------------------End Skript -------------------------------------------

Inhalt der backup01.log

-----------------------------------Start Backup01.log ----------------------------------------

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.

---------------------------------End Backup01.log-------------------------------------

Gruß Henning
Mitglied: Biber
09.09.2006 um 22:19 Uhr
Moin kirus22,

das eigentliche Problem ist banal - findstr.exe ist zu blöd inflexibel, um so exotische Zeichen wie Umlaute zu prüfen.
Wenn Du den zu prüfenden String verkürzt auf "Der Vorgang wurde nicht ordnungsgem", was auch ausreichend wäre, dann funktioniert es.

Dennoch als Anmerkung: den Batchschnipsel würde ich etwas kürzen..

01.
@echo off & setlocal 
02.
set "Backuppatch=%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
03.
findstr /C:"Der Vorgang wurde nicht ordnungsgem" "%BackupPatch%\backup01.log" && Goto FehlerGefunden 
04.
 
05.
echo Kein Fehler gefunden. 
06.
goto ende 
07.
 
08.
:FehlerGefunden 
09.
echo Fehler im Backup. Bitte überprüfen Sie die LogDatei. 
10.
 
11.
:ende 
12.
pause
Der Umweg über "type...>tmpdatei" ist überflüssig.

Gruß Biber
[Edit] Korrektur/Ergänzung: findstr könnte auch die Umlaute in der NTBackup.log-Datei wiederfinden, wenn diese Datei den im DOS-Zeichensatz geschrieben worden wäre. Die wird aber als ANSI-*.txt-Datei geschrieben.
D.h. dort werden die Umlaute "richtig angezeigt", wenn Du die Datei mit Notepad öffnest.
Findstr geht aber vom DOS-Zeichensatz aus.
Und vergleicht "Der Vorgang wurde nicht ordnungsgemõ▀ ausgef³hrt." mit "Der Vorgang wurde nicht ordnungsgemäß ausgeführt."
[/Edit]
Bitte warten ..
Mitglied: Kirus22
10.09.2006 um 10:42 Uhr
Hallo zusammen,
danke schon mal für den guten Tipp. Es funktioniert jetzt. Nur ich hab jetzt noch ein Problem, da ntbackup immer wieder neue Log Dateien anlegt von backup01-backup10.log...
wie kann ich denn da immer die aktuellste log Datei abfragen? Kann ich das mittels Batch (abfragen)?

Gruß Henning
Bitte warten ..
Mitglied: Biber
10.09.2006 um 13:15 Uhr
Moin kirus22,

dann solltest Du die jüngste backupXX.log-Datei mit dem DIR-Befehl ermitteln und auch in eine Variable schreiben.
Ja, geht im Batch. Eine mögliche Variante wäre:
01.
::------ snipp ShowLastBackup.bat  
02.
@echo off & setlocal 
03.
set "BackupDir=%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
04.
for /f %%i in ('dir /b /o:d "%BackupDir%\backup??.log"') do Set "BackupFile=%%i" 
05.
findstr /C:"Der Vorgang wurde nicht ordnungsgem" "%BackupDir%\%BackupFile%" && Goto FehlerGefunden 
06.
 
07.
echo Kein Fehler gefunden. 
08.
goto ende 
09.
 
10.
:FehlerGefunden 
11.
echo Fehler im Backup. Bitte überprüfen Sie die LogDatei %backupFile%. 
12.
REM ..oder alternativ gleich: notepad "%BackupDir%\%BackupFile%" 
13.
 
14.
:ende 
15.
pause
Gruß
Biber
Bitte warten ..
Mitglied: Kirus22
10.09.2006 um 16:11 Uhr
Hallo Biber,

leider funktioniert das Skript so nicht Das Skript findet mal wieder keine fehler... Hast du vielleicht noch ein Tipp?

Gruß Henning
Bitte warten ..
Mitglied: Biber
10.09.2006 um 16:33 Uhr
Moin kirus22,

der Vorteil bei so ein paar Zeilen ist ja, dass die sich zur Not einzeln am CMD-Prompt eintippen lassen.
Was passiert denn wenn Du wahlweise im Batch das "echo off" in "echo on" änderst
oder alternativ am CMD-Prompt (Zeile für Zeile nacheinander) eingibst:
01.
set "BackupDir=%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
02.
for /f %i in ('dir /b /o:d "%BackupDir%\backup??.log"') do Set "BackupFile=%i" 
03.
set backup 
04.
 
05.
findstr /C:"Der Vorgang wurde nicht ordnungsgem" "%BackupDir%\%BackupFile%" 
Welche Ausgabe brennt denn dann auf dem Monitor?

Gruß
Biber
Bitte warten ..
Mitglied: Kirus22
10.09.2006 um 17:28 Uhr
mmm, dann geht es... wie kann das sein? Wenn ich es als cmd ausführe dann schließt sich das fenster sofort...
Bitte warten ..
Mitglied: Biber
10.09.2006 um 20:00 Uhr
Also, kirus22,

wenn ich die obige Batchdatei ohne Änderungen bei mir am CMD-Prompt starte. dann:
01.
Z:\> 
02.
$cmd$ShowLastBackup.bat 
03.
Der Vorgang wurde nicht ordnungsgemäß ausgeführt. 
04.
Fehler im Backup. Bitte überprüfen Sie die LogDatei backup09.log. 
05.
Drücken Sie eine beliebige Taste . . .
..works as designed, wie es bei uns heißt.
Bitte überprüfe noch mal auf Tippfehler in der Batch. Bzw. lass den Batch vom CMD-Prompt laufen und zwar mit "echo on" statt "echo off".

Gruß
Biber
Bitte warten ..
Mitglied: Kirus22
10.09.2006 um 21:26 Uhr
Hi Biber,

danke noch mal für deine Hilfe. Problem war:

for /f %i in ('dir /b /o:d "%BackupDir%\backup??.log"') do Set "BackupFile=%i"

so gehts => for /f %%i in ('dir /b /o:d "%BackupDir%\backup??.log"') do Set "BackupFile=%%i"

Schönen Tag dann noch.

Gruß Henning
Bitte warten ..
Mitglied: 106543
30.07.2012, aktualisiert um 16:13 Uhr
Hi Leute

um nochmal das Thema aufzureißen
wieso verwendet ihr alle Workarounds für das Problem mit den Umlauten?
Gibts da keine Möglichkeit zur Behebung ?
Ich hätte nämlich ein ähnliches Problem und würde gerne kein Workaround kriegen
Mein Problem ist, dass ich Usersitzungen auslese und diese mitunter einen Umlaut haben den ich weiter brauche um die Sitzung zu beenden.

Grüße
Dominik
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Crontab mit Shell Probleme (9)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Windows 7
gelöst Sind euch verstärkte Probleme bei Windows 7 Updates aufgefallen? (4)

Frage von RadioHam zum Thema Windows 7 ...

Cloud-Dienste
gelöst OwnCloud 8 Probleme mit Vorschaubildern auf Mobilgeräten (1)

Frage von zeroblue2005 zum Thema Cloud-Dienste ...

Windows 10
gelöst VPN Verbindung Probleme (7)

Frage von Yeter2 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...