Hallo Leute,
wie kann ich in allen ini-Dateien die unter c:\admin_V8\config\project_config\ liegen folgendes SR_PRJ = G:/ durch SR_PRJ = C:/ ersetzen.
Besten Dank im Voraus !
Viele Grüße,
Dino
Hallo Leute,
wie kann ich in allen ini-Dateien die unter c:\admin_V8\config\project_config\ liegen folgendes SR_PRJ = G:/ durch SR_PRJ = C:/ ersetzen.
Besten Dank im Voraus !
Viele Grüße,
Dino
Alle ini-Dateien mit _FileListToArray lesen
und dann entweder mit IniWrite oder mit StringReplace in jeder Datei ändern
Einfach
[autoit]IniWrite($inifile,$section,"SR_PRJ", "C:/")
[/autoit]Hallo zusammen,
da ich Anfänger bin, würde ich mich freuen, wenn ihr mir bitte zeigt, wie der gesamte Codeinhalt aussieht.
Besten Dank !
Viele Grüße,
Dino
Hi,
einfach alles Antworten zusammensetzen
#include <File.au3>
$pfad = "c:\admin_V8\config\project_config\"
$array = _FileListToArray($pfad, "*.ini*", 1)
For $i = 1 To UBound($array) - 1
IniWrite($pfad & "\" & $array[$i], "noch ausfuellen", "SR_PRJ", "C:/")
Next
Bei IniWrite mußt du noch die Sektion ändern. (sieht so in etwa aus: [SektionsName]).
So geht es nur, wenn die Sektion immer gleich heisst.
Probiers mal habs aber nicht getestet
Hallo,
icha habe es wie folgt ausprobiert und nichts wird ersetzt
[autoit]#include <File.au3>
$pfad = "c:\admin_V8\config\project_config\"
$array = _FileListToArray($pfad, "*.ini*", 1)
$G = 'G:/'
For $i = 1 To UBound($array) - 1
IniWrite($pfad & "\" & $array[$i], $G, "SR_PRJ", "C:/")
Next
Gruß,
Dino
bist du dir sicher, dass $G auch die "Section" ist?
bin mir da nicht so sicher.
Ich dachte die "Section" ist das zu ersetzende Inhalt, oder?
nein der aufbau einer Ini ist wie folgt:
[Section]
Key=Value
Key=Value
Key=Value
Key=Value
[Section]
Key=Value
Key=Value
Key=Value
und so weiter... d.h. eine section ist ein bereich wo sich keys bzw. values befinden... wenn du den section namen nicht weisst und auch nicht wissen willst benutze die funktion StringReplace
Wenn du ihn wissen willst: (is jetzt grade in meinem kopf entstanden also keine garantie das es geht!)
Func inigetsection($file, $key, $value = 0)
$section = IniReadSectionNames($file)
Dim $output[1][2]
For $i = 1 To Ubound($section)-1
$read = IniRead($file, $section[$i], $key, "DEFAULTVALUE")
if $value <> 0 AND $read = $value Then
Redim $output[Ubound($output)+1][2]
$output[$i-1][0] = $section[$i]
$output[$i-1][1] = $read
ElseIf $value = 0 AND $read <> "DEFAULTVALUE" Then
Redim $output[Ubound($output)+1][2]
$output[$i-1][0] = $section[$i]
$output[$i-1][1] = $read
EndIf
Next
Return $output
EndFunc
Hallo,
meine ini-Datei sieht so aus:
[autoit]#----------------------------------------------------------------------
#
# untitled.ini - Copy this file as a starting point for new projects.
#
#
_USTN_PROJECTDESCR = Untitled Project
#----------------------------------------------------------------------
# Set search paths.
#----------------------------------------------------------------------
SR_PRJ = g:/schulung/60008047/
CADTRON_USER_ENV = $(MS_DEF)
CADTRON_LST = $(MS_DEF)Listen/
CADTRON_LSTFT = $(MS_DEF)Listen/
CADTRON_HIDDEN3D = $(MS_DEF)Schnitte/
CADTRON_METHODE = $(MS_DEF)Methoden/
CADTRON_IDATCALC_DIR = D:/Programme/Spricalc/IDAT-CALC
#CADTRON_BUILDING = stockwerke_geb_1
MS_SEEDFILES > $(CADTRON)/env/dgn/seed/
MS_DESIGNSEED = $(CADTRON)/env/dgn/seed/3D_m_mm_1000_100.dgn
#MS_SEEDFILES = $(MS_DEF)einstellungen/seed/
MS_SEEDFILES > $(_USTN_WORKSPACEROOT)system/seed/
MS_SEEDFILES > $(_USTN_WORKSPACEROOT)standards/seed/
MS_SYMBRSRC > $(MS_DEF)einstellungen/font/*.rsc
MS_BACKUP = $(MS_DEF)Backup/
MS_RFDIR = $(MS_DEF)
MS_RFDIR > $(MS_DEF)Schnitte/model_hatch/
MS_RFDIR > $(MS_DEF)Schnitte/model_hidden/
MS_RFDIR > $(MS_DEF)architektur/
MS_RFDIR > $(MS_DEF)elektro/
MS_RFDIR > $(MS_DEF)heizung/
MS_RFDIR > $(MS_DEF)lueftung/
MS_RFDIR > $(MS_DEF)sanitaer/
MS_RFDIR > $(MS_DEF)planausgabe/
MS_RFDIR > $(MS_DEF)sprinkler/
ohh gott das ja mal völlig beschissen, mach es so:
$searchstring = "TEST"
$replacestring = "TEST2"
$handle = FileOpen($file, 1)
$content = FileRead($handle)
StringReplace($content, $searchstring, $replacestring)
FileClose($handle)
Hallo FireFlyer,
wo trage ich folgendes ein:
[autoit]
$pfad = "c:\admin_V8\config\project_config\"
$array = _FileListToArray($pfad, "*.ini*", 1
Gruß,
Dino
$searchstring = "TEST"
$replacestring = "TEST2"
$pfad = "c:\admin_V8\config\project_config\"
$array = _FileListToArray($pfad, "*.ini*", 1) ;leider weiss ich jetzt nicht genau was filelisttoarray alles zurückgibt ich glaube nur den dateinamen
For $i = 1 To Ubound($array)-1 ;$i = 1 / 0 keine ahnung ob im index 0 schon was steht
$handle = FileOpen($pfad&$array[$i], 1)
$content = FileRead($handle)
StringReplace($content, $searchstring, $replacestring)
FileClose($handle)
Next
ERROR: _FileListToArray(): undefined function.
$array = _FileListToArray($pfad, "*.ini*", 1)
$searchstring = "G:/"
$replacestring = "C:/"
$pfad = "c:\admin_V8\config\project_config\"
$array = _FileListToArray($pfad, "*.ini*", 1) ;leider weiss ich jetzt nicht genau was filelisttoarray alles zurückgibt ich glaube nur den dateinamen
For $i = 1 To Ubound($array)-1 ;$i = 1 / 0 keine ahnung ob im index 0 schon was steht
$handle = FileOpen($pfad&$array[$i], 1)
$content = FileRead($handle)
StringReplace($content, $searchstring, $replacestring)
FileClose($handle)
Next
_FileListToArray ist in File.au3 enthalten ... also #include
so wird nichts ersetzt:
[autoit]#include <File.au3>
[/autoit][autoit][/autoit][autoit]$searchstring = "G:/"
$replacestring = "C:/"
$pfad = "c:\admin_V8\config\project_config\"
$array = _FileListToArray($pfad, "*.ini*", 1) ;leider weiss ich jetzt nicht genau was filelisttoarray alles zurückgibt ich glaube nur den dateinamen
For $i = 1 To Ubound($array)-1 ;$i = 1 / 0 keine ahnung ob im index 0 schon was steht
$handle = FileOpen($pfad&$array[$i], 1)
$content = FileRead($handle)
StringReplace($content, $searchstring, $replacestring)
FileClose($handle)
Next
Genau, nur den Dateinamen. Aber deine Suchmaske versteh ich nicht *.ini*
Das müsste reichen: *.ini
geht auch nicht
Ähhm, ja Du musst auch das ergebnis von stringreplace in die Datei speichern...
[autoit]$content = FileRead($pfad&$array[$i]) ; lesen
$content = StringReplace($content, $searchstring, $replacestring) ; ersetzen
$handle = FileOpen($pfad&$array[$i], 2) ; Datei zum überschreiben öffnen
FileWrite($handle,$content) ; neuen Inhalt schreiben
FileClose($handle) ; Datei schließen
ohh gott ich bin so doof das hab ich ja völlig vergessen^^