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, 7641 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 ..
Ähnliche Inhalte
Windows Server
Yoursecurecloud.de Probleme mit Pfaden (6)

Frage von WPFORGE zum Thema Windows Server ...

Mac OS X
Probleme mit Freigegebener MAC Festplatte

Frage von mark16 zum Thema Mac OS X ...

Server-Hardware
HP Proliant ML30 + HPE H240 Probleme (7)

Frage von Sauropode zum Thema Server-Hardware ...

Outlook & Mail
Outlook 2016 Mails verschwinden - Probleme mit mehreren Postfächern? (6)

Frage von hannsgmaulwurf zum Thema Outlook & Mail ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(1)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...