Datei auslesen, wenn String vorhanden ist koplette Zeile in TXT speichern

  • Also das funktioniert auf jedenfall.
    erst musst du die Datei auslesen das funktioniert mit

    [autoit]

    FileRead

    [/autoit]


    Dann gibt es einige Möglichkeiten.
    Einmal mit

    [autoit]


    StringRegExp
    ;oder
    StringInStr

    [/autoit]

    MfG
    Der_Doc

  • "ohne GUI"
    [autoit]

    #include <File.au3>
    #include <array.au3>
    Global $aLines
    Global $aFiles[2] = [@ScriptDir & "\test.txt", @ScriptDir & "\test.ini"]

    [/autoit] [autoit][/autoit] [autoit]

    $sSearch = "Hallo"
    $output = @ScriptDir & "\output.txt"

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To UBound($aFiles) - 1
    _FileReadToArray($aFiles[$i], $aLines)
    _ArrayDisplay($aLines)
    If IsArray($aLines) Then
    For $j = 1 To $aLines[0] Step 1
    If StringLeft($aLines[$j], StringLen($sSearch)) = $sSearch Then
    FileWriteLine($output, $aLines[$j])
    EndIf
    Next
    EndIf
    Next

    [/autoit]
  • Spoiler anzeigen
    [autoit]


    #include <File.au3>
    #include <array.au3>
    Global $aLines

    [/autoit] [autoit][/autoit] [autoit]

    $folder = ''
    $sSearch = ''
    $output = ''
    $aFiles = _FileListToArray($folder, "*", 1)
    If $sSearch = '' Then
    MsgBox(0, "", "Suchbegriff fehlt!")
    Else
    If IsArray($aFiles) Then
    For $i = 1 To $aFiles[0]
    _FileReadToArray($folder & "\" & $aFiles[$i], $aLines)
    If IsArray($aLines) Then
    For $j = 1 To $aLines[0] Step 1
    If StringLeft($aLines[$j], StringLen($sSearch)) = $sSearch Then
    FileWriteLine($output, $aLines[$j])
    EndIf
    Next
    EndIf
    Next
    Else
    MsgBox(0, "Abbruch", "Keine Dateien gefunden")
    EndIf
    EndIf

    [/autoit]