cmdnutzer
Goto Top

Mit Batch Datei bestimmten bereich in WindowsBackup Log Datei suchen und heraus kopieren

Hallo,

ich Möchte mit Hilfe einer Batch Datei, aus einer WindowsBackup Log Textdatei das Untenstehende Resultat (Zusammenfassung des Sicherungsvorgangs) suchen, und in eine Neue Text Datei einfügen.

Das Problem was ich habe ist zudem das sich die Zeilen anzahl je nach Log verändert.....

Hätte jemand eine Idee wie ich das umsetzen kann und wie ungefähr der Code aussehen müsste???

Danke im voraus

Content-ID: 352931

Url: https://administrator.de/forum/mit-batch-datei-bestimmten-bereich-in-windowsbackup-log-datei-suchen-und-heraus-kopieren-352931.html

Ausgedruckt am: 06.04.2025 um 00:04 Uhr

grill-it
grill-it 26.10.2017 um 09:07:52 Uhr
Goto Top
wie wärs mit der powershell per Get-Eventlog oder get-winevent
Kraemer
Kraemer 26.10.2017 um 10:09:45 Uhr
Goto Top
Moin,

Zitat von @cmdNutzer:

Hallo,

ich Möchte mit Hilfe einer Batch Datei, aus einer Windows Log Datei
welche das ist, ist geheim?

das Untenstehende Resultat suchen, und in eine Neue Text Datei einfügen.
welches "Unten" meinst du?

Gruß
Penny.Cilin
Penny.Cilin 26.10.2017 um 10:30:34 Uhr
Goto Top
Zitat von @cmdNutzer:

Hallo,
Hallo,

ich Möchte mit Hilfe einer Batch Datei, aus einer Windows Log Datei das Untenstehende Resultat suchen, und in eine Neue Text Datei einfügen.
Da fehlt was!!! - Welche Informationen sind mit Untenstehende Resultat gemeint?
Und aus welcher Log-Datei? - ist die geheim, daß Du diese nicht nennst?

Das Problem was ich habe ist zudem das sich die Zeilen anzahl je nach Log verändert.....
Naja, meinst Du jetzt die ominöse Log-Datei, oder etwas anderes?

Hätte jemand eine Idee wie ich das umsetzen kann und wie ungefähr der Code aussehen müsste???
Hast Du denn überhaupt Code? Bzw. hast Du einen Code erstellt, oder sollen wir für Dich die Arbeit machen?

Danke im voraus

Gruss Penny
cmdNutzer
cmdNutzer 26.10.2017 aktualisiert um 11:14:27 Uhr
Goto Top
Sorry,

es geht um eine Windows Backup Log Textdatei und mit unterstehendem Resultat meine ich die Zusammenfassung des Sicherungsvorgangs.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Zusammenfassung des Sicherungsvorgangs:
------------------

Die Sicherung wurde mit Fehlern abgeschlossen.
Die Sicherung von Volume "Windows(C:)" wurde erfolgreich abgeschlossen.  
Die folgenden Anwendungskomponenten wurden nicht gesichert, weil ihre Konsistenzprfung
nicht erfolgreich war oder weil sie bei der Erstellung der Momentaufnahme
bersprungen wurden. Diese Anwendungskomponenten stehen nicht zur Wiederherstellung
mit dieser Sicherung zur Verfgung. Hilfe zur L”sung des Problems erhalten Sie
beim Anbieter der Anwendung.
Die Komponente "SBS" (D79C8137-D979-4315-B549-DB7A8E3CD4AF) der Anwendung "HyperV" wurde bei dem   
Schattenkopievorgang bersprungen.

Detaillierter Fehler: FEHLER - Vorgangsfehler im Volumeschattenkopie-Dienst (0x800423f3)
Fr den Generator wurde ein vorbergehender Fehler festgestellt. Wenn der Sicherungsvorgang wiederholt wird,
tritt der Fehler m”glicherweise nicht erneut auf.


"Host Component" wurde erfolgreich gesichert.  

Die Anwendungssicherung war erfolgreich.

Protokoll der gesicherten Dateien: 
"C:\Windows\Logs\WindowsServerBackup\Backup-30-08-2017_09-35-28.log"  

Protokoll der Dateien, die nicht erfolgreich gesichert wurden:
C:\Windows\Logs\WindowsServerBackup\Backup_Error-30-08-2017_09-35-28.log

 
HYPER-V: 30.08.2017 - 12:56:59,20 
Penny.Cilin
Lösung Penny.Cilin 26.10.2017 um 11:17:05 Uhr
Goto Top
OK, es handelt sich um eine reine Textdatei, oder ist das ein Eventlog?

Du willst den letzten Eintrag dieser Textdatei in eine neue Datei übertragen?
Ist das korrekt?

Handelt es sich nur um eine Zeile oder mehrere?
Kannst Du uns auch nähere Informationen (z.b: Name, Produkt) von diesem Backupprogramm nennen?
Mittels Batch wird es komplex, mit Powershell könnte es einfacher werden.

Hast Du bestimmte Begriffe, wonach du parsen (suchen) kannst bzw. musst.
Mit Bordmitteln fällt mir jetzt nur
  • find
  • findstr
ein.
Für den Syntax nutze
1
2
find /?
findstr /?
und die Suche im Internet.

Gruss Penny
134464
Lösung 134464 26.10.2017 aktualisiert um 11:25:19 Uhr
Goto Top
1
[regex]::Match((gc 'C:\datei.log -raw'),'(?ism)^Zusammenfassung des Sicherungsvorgangs:.*?(?=^HYPER\-V:)').Value | sc "C:\zusammenfassung.log"  
grill-it
Lösung grill-it 26.10.2017 aktualisiert um 11:38:18 Uhr
Goto Top
Damit wird man aber unter Umständen auch ältere Einträge als Ergebnis bekommen, oder?

sonst hätte ich das Get-Content in der PS vorgeschlagen in der Art:

1
Get-Content -Path <Pfad der Textdatei> | Where-Object {$_ -like '*<Begrifflichkeit nach der Gesucht wird>*'} > <Pfad Der Ausgabe Textdatei>  

und dann müsste man die Begrifflichkeit etwas genauer Definieren..
134464
Lösung 134464 26.10.2017 aktualisiert um 11:48:39 Uhr
Goto Top
Damit wird man aber unter Umständen auch ältere Einträge als Ergebnis bekommen, oder?
Kann man wählen welchen man will wenn man stattdessen "Matches" benutzt und die letzte Gruppe des Arrays ausgibt, da bist du flexibel ...
1
[regex]::Matches((gc 'C:\datei.log -raw'),'(?ism)^Zusammenfassung des Sicherungsvorgangs:.*?(?=^HYPER\-V:)').Captures | select -Last 1 | %{$_.Value | sc "C:\zusammenfassung.log"}