Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 7734 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
Batch & Shell
gelöst Mal eine neue Art von Abfrage mit findstr (8)

Frage von DaTobsn zum Thema Batch & Shell ...

Windows Tools
gelöst Findstr und regex (5)

Frage von tobmes zum Thema Windows Tools ...

Batch & Shell
gelöst Dateinamen mittels findstr aus einer TXT auslesehen (14)

Frage von Diamond72 zum Thema Batch & Shell ...

Batch & Shell
gelöst Findstr - code für schwieriger Abfrage gesucht (9)

Frage von reissaus73 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Firewall
gelöst Firewall Firmeneimsatz (22)

Frage von wiesi200 zum Thema Firewall ...

LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (11)

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

Windows Server
ESXI Free Windows Server 2016 Datacenter aktivieren (10)

Frage von iDeathz zum Thema Windows Server ...

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...