Durch Viele .ini daten gehen und einen wert ändern

  • Hallo Leute

    Ich habe ein mega problem, dass ich nicht lösen kann.

    Okay ich will ein Programm schreiben das:

    In einem Ordner Durch alle ".ini" daten geht und den wert "xy=255" in "xy=-1" ändert.
    danach die datei wieder abspeichert OHNE einen anderen wert zu löschen.

    es sind ca. 300 .ini's und der wert "xy=255" steht jedes mal an einer anderen stelle(zeile).

    Danke schonmal und


    ps: ich habe keine ahnung wie ich es anstellen soll das er alle inis durchgeht weil die inis auch unterschiedliche namen haben.


    zb. SionS.ini

    Leben: 200
    Ort: SF
    xy=255
    Navi: An
    cam=232
    fa23=fa22

    ________________

    Comet.ini

    Ort: LS
    xy=255
    Leben: 125
    cam=222
    fa23=-22
    Navi: Aus

    ________________

    Das sollen die .ini seien

    die sollten jetzt so aussehen:

    SionS.ini

    Leben: 200
    Ort: SF
    xy=-1
    Navi: An
    cam=232
    fa23=fa22

    ________________
    Comet.ini

    Ort: LS
    xy=-1
    Leben: 125
    cam=222
    fa23=-22
    Navi: Aus

    2 Mal editiert, zuletzt von SionS (31. Mai 2011 um 13:51)

  • Scheint keine Standard-Ini zu sein. Von daher wird IniWrite() warschinlich nichts bringen.

    in etwa so
    [autoit]

    #Region - Timestamp
    ;2011-05-30 22:54:02
    #EndRegion - Timestamp

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

    #include <File.au3>

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

    $aFiles = _FileListToArray($sOrdner, "*.ini", 1)
    For $i = 0 To $aFiles[0]
    $sFile = FileRead($sOrdner & $aFiles[$i])
    $sFile = StringRegExpReplace($sFile, "xy=.*", "xy=-1", 1)
    FileWrite($sOrdner & $aFiles[$i], $sFile)
    Next

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Hier so gehts:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    $sOrdner = FileSelectFolder("Ordner wählen", "")

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

    $aFiles = _FileListToArray($sOrdner, "*.ini", 1)
    For $i = 1 To $aFiles[0]
    $sFile = FileRead($sOrdner & "\" & $aFiles[$i])
    $sFile = StringReplace($sFile,"xy=255","xy=-1")
    $datei = FileOpen($sOrdner & "\" & $aFiles[$i], 2)
    FileWrite($datei, $sFile)
    NexT

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.