Guten Morgen in die Runde,
ich komme im oben beschriebenen Szenario nicht so richtig weiter ....
habe allerdings 2 (Teil)Scripte die jeweils einen Teil der Anforderung abdecken - nur die Kombi gelingt mit nicht
Teil (1)
Mehrere Dateien aus einem Verzeichnis auswählen, in ein Array einlesen ---> funktioniert
Dann gesamten Dateiinhalte in ein Summaryfile schreiben, wobei mittels Trennlinie die einzelnen Dateien(inhalte) getrennt werden ---> funktioniert
(hier sollen aber letztendlich nur jeweils 3 Zeilen der jeweiligen Datei geschrieben werden)
Teil (2)
Auslesen der 3 definierten Zeilen aus einer Datei ---> funktioniert
Leider gelingt es mir nicht den Teil (2) innerhalb von Teil (1) zu integrieren.
Zum besseren Verständnis hier meine 2 ScriptSnips:
Teil (1) - Dateiliste / SummaryFile
Spoiler anzeigen
#include <file.au3>
Local $sPath, $aFiles, $sText, $sOrdner
;Local $aRecords, $sFoundDB, $sBkpDB, $sSkipDB
;~ Folderauswahl
$sPath = FileSelectFolder("Verzeichnis wählen","D:\Laptop","","")
If @error Then Exit
;~ DateiListe in Array einlesen
$aFiles = _FileListToArray($sPath,"*.*",1) ; Dateien in ein Array lesen
;~ Fehlerhandling
If @error Then Exit MsgBox(16,"Error","No files found")
;~ DateiListe abarbeiten
For $i = 1 To UBound($aFiles)-1
$sText &= @CRLF & @CRLF & "--------------- "&$sPath & "\"& $aFiles[$i]& "---------------" & @CRLF & @CRLF ;TrennLinie zw. den Dateien
$sText &= FileRead($sPath & "\"& $aFiles[$i]) ;Dateiinhalt (gesamt) hinzufügen ; <----- HIER DENKE ICH MUSS DIE 3 ZEILENSUCHE EINGEFÜGT WEDEN
Next
;~ SummaryFile erzeugen und anzeigen
$sOrdner = StringRegExpReplace($sPath,".+\\","") ;Foldernamen ermiiteln
FileWrite(@DesktopDir & "\Files from"&$sOrdner&".txt",$sText) ;Neues TxtFile schreiben
ShellExecute(@DesktopDir & "\Files from"&$sOrdner&".txt") ;Neues TxtFile öffnen
Teil (2) - Dedizierte Suche nach definierten Strings innerhalb einer Datei (ist angehängt)
Spoiler anzeigen
If Not _FileReadToArray(@ScriptDir & "\Log_20150418.txt",$aRecords) Then ;Datei in Array lesen + ErrorHandling
MsgBox(4096,"Error", " Fehler beim Einlesen der Datei Fehler:" & @error)
Exit
EndIf
Find 'Total dbs'
For $x = 1 to $aRecords[0]
If StringInStr($aRecords[$x], "Total found dbs:") Then ; Eintrag ist vorhanden
$sFoundDB = $aRecords[$x]
ExitLoop
Else
$sFoundDB = "Total found dbs: 'nicht gefunden'" ; Eintrag ist NICHT vorhanden
EndIf
Next
;~ Find 'Bkp dbs'
For $x = 1 to $aRecords[0]
If StringInStr($aRecords[$x], "Total bkp dbs:") Then ; Eintrag ist vorhanden
$sBkpDB = $aRecords[$x]
ExitLoop
Else
$sBkpDB = "Total bkp dbs: 'nicht gefunden'" ; Eintrag ist NICHT vorhanden
EndIf
Next
;~ Find 'Skipped dbs'
For $x = 1 to $aRecords[0]
If StringInStr($aRecords[$x], "Total skipped dbs:") Then ; Eintrag ist vorhanden
$skipDB = $aRecords[$x]
ExitLoop
Else
$sSkipDB = "Total bkp dbs: 'nicht gefunden'" ; Eintrag ist NICHT vorhanden
EndIf
Next
So nun ist meine Challenge, daß aus der eingelesenen Dateiliste die jeweiligen 3 Ergebniszeilen (und nur diese) ins SummaryFile geschrieben werden
Freue mich über jede Hilfe - danke schon einmal im voraus
ugt100