Moin,
ich habe ein Problem zum Haare raufen ...
Und zwar möchte ich ein Textfile einlesen und bestimmte Zeilen bearbeitet zusammenführen und das ganze dann wieder in ein Textfile schreiben.
Der Text wird auch geschrieben, aber nicht in veränderter Form, sondern unbearbeitet, also praktisch eine Kopie.
Geht nicht ...
Spoiler anzeigen
$sPathRegFile = 'J:\AutoIt\Re.reg'
[/autoit] [autoit][/autoit] [autoit]$fhRegFile = FileOpen($sPathRegFile, 0)
If FileReadLine($fhRegFile, 1) = 'REGEDIT4' Then
$iVersionRegedit = 4
Else
$iVersionRegedit = 5
EndIf
$fhTmpFile = FileOpen(FileCopy($sPathRegFile, StringReplace($sPathRegFile, '.reg', '.tmp')), 2)
FileWrite($fhTmpFile, StringReplace(FileRead($fhRegFile), ',\' & @CRLF & ' ', ','))
FileClose($fhRegFile)
FileClose($fhTmpFile)
... geht auch nicht !
Spoiler anzeigen
#include-once
#include <Array.au3>
$sPathRegFile = 'J:\AutoIt\Re.reg'
[/autoit] [autoit][/autoit] [autoit]$fhRegFile = FileOpen($sPathRegFile, 0)
If FileReadLine($fhRegFile, 1) = 'REGEDIT4' Then
$iVersionRegedit = 4
Else
$iVersionRegedit = 5
EndIf
$fhTmpFile = FileOpen(StringReplace($sPathRegFile, '.reg', '.tmp'), 2)
$arText = StringSplit(FileRead($fhRegFile), @LF)
;_ArrayDisplay($arText)
Dim $sConvText
For $i = 1 To $arText[0]
Select
Case StringRegExp($arText[$i], '((hex\(?0?3?\)?:)[[:xdigit:]]{2}(,[[:xdigit:]]{2})*,\\)\z') = 1
$sConvText &= StringTrimRight($arText[$i], 1)
Case StringRegExp($arText[$i], '\A( [:xdigit:]]{2}(,[[:xdigit:]]{2})*,\\)\z)') = 1
$sConvText &= StringTrimLeft(StringTrimRight($arText[$i], 1), 2)
Case StringRegExp($arText[$i], '\A( [[:xdigit:]]{2}(,[[:xdigit:]]{2})*)\z') = 1
$sConvText &= StringTrimLeft($arText[$i], 2)
Case Else
$sConvText &= $arText[$i]
EndSelect
Next
FileWrite($fhTmpFile, $sConvText)
FileClose($fhRegFile)
FileClose($fhTmpFile)
Exit
Re.reg
Spoiler anzeigen
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG]
"Seed"=hex(03):ea,8d,d8,7d,2c,82,21,2f,bb,85,91,62,a2,3a,b3,44,61,d3,55,de,\
49,3c,3e,55,b6,ef,f0,78,9f,99,2f,5c,f6,73,12,af,82,e7,26,8f,85,0f,17,17,3e,73,\
39,91,4b,0f,03,4e,11,6f,b2,34,51,5c,0a,77,77,b0,65,ee,8d,8f,00,3d,a3,9a,68,\
41,15,49,3c,62,5b,12,b3,4a
Keine Ahnung, was los ist, eigentlich müssten beide Beispiele funktionieren ...
Gruß
Greenhorn