VBS Textzeile in fsx.cfg Datei an bestimmte Stelle einfügen
Guten Abende Leute
Mit dem hier aufgeführten Script möchte ich den Text "AutogenDescriptionsFilename=AutogenDescriptions_EFRO.xml"
einfügen was soweit auch mit der Test fsx.cfg im Pfad c:\... klappt!
Was ich nicht hinbekomme ist :
1.
den Text an bestimmte Stelle einzufügen nämlich unmittelbar nach "[TERRAIN]" !
Hier ein Auszug der fsx.cfg Datei und die Stelle wo's rein müsste:
IFROnly=0
AIRPORT_SCENERY_DENSITY=3
[TERRAIN]
HIER MUSS ES REIN !
LOD_RADIUS=4.500000
MESH_COMPLEXITY=100
MESH_RESOLUTION=23
TEXTURE_RESOLUTION=29
AUTOGEN_DENSITY=2
DETAIL_TEXTURE=1
WATER_EFFECTS=5
[AContain]
ShowLabels=0
2.
Die fsx.cfg befindet sich in folgendem Pfad: "C:\user\username\appdata\roaming\microsoft\fsx\fsx.cfg"
der Script sieht nun so aus: jedoch Fehlermeldung: Zeile: 5
Zeichen 51
Fehler: Literalkonstante erwartet
Kann mir jemand weiterhelfen?
aletri
Mit dem hier aufgeführten Script möchte ich den Text "AutogenDescriptionsFilename=AutogenDescriptions_EFRO.xml"
einfügen was soweit auch mit der Test fsx.cfg im Pfad c:\... klappt!
Was ich nicht hinbekomme ist :
1.
den Text an bestimmte Stelle einzufügen nämlich unmittelbar nach "[TERRAIN]" !
Hier ein Auszug der fsx.cfg Datei und die Stelle wo's rein müsste:
IFROnly=0
AIRPORT_SCENERY_DENSITY=3
[TERRAIN]
HIER MUSS ES REIN !
LOD_RADIUS=4.500000
MESH_COMPLEXITY=100
MESH_RESOLUTION=23
TEXTURE_RESOLUTION=29
AUTOGEN_DENSITY=2
DETAIL_TEXTURE=1
WATER_EFFECTS=5
[AContain]
ShowLabels=0
Const Datei = "C:\fsx.cfg"
Const Eintrag = "AutogenDescriptionsFilename=AutogenDescriptions_EFRO.xml"
Set fso=CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set rFile = fso.OpenTextFile(Datei, 1)
Set wFile = fso.OpenTextFile(Datei, 8)
found = false
Do While rFile.AtEndOfStream <> True
If InStr(rFile.Readline, Eintrag) <> 0 Then
found = true
End If
Loop
If found Then
Else
wFile.WriteLine Eintrag
wFile.Close
End If
2.
Die fsx.cfg befindet sich in folgendem Pfad: "C:\user\username\appdata\roaming\microsoft\fsx\fsx.cfg"
der Script sieht nun so aus: jedoch Fehlermeldung: Zeile: 5
Zeichen 51
Fehler: Literalkonstante erwartet
Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
Const Datei = (appdata & "\Microsoft\FSX\fsx.cfg")
Const Eintrag = "AutogenDescriptionsFilename=AutogenDescriptions_EFRO.xml"
Set fso=CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set rFile = fso.OpenTextFile(Datei, 1)
Set wFile = fso.OpenTextFile(Datei, 8)
found = false
Do While rFile.AtEndOfStream <> True
If InStr(rFile.Readline, Eintrag) <> 0 Then
found = true
End If
Loop
If found Then
Else
wFile.WriteLine Eintrag
wFile.Close
End If
Kann mir jemand weiterhelfen?
aletri
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 278573
Url: https://administrator.de/contentid/278573
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
6 Kommentare
Neuester Kommentar
Hi,
rFile und wFile gleichzeitig auf die selbe Datei geht sowieso nicht.
1. Datei vollständig einlesen
2. Zeile suchen
3. Wenn nicht vorhanden Zeile einfügen
4. Datei speichern
E.
rFile und wFile gleichzeitig auf die selbe Datei geht sowieso nicht.
1. Datei vollständig einlesen
2. Zeile suchen
3. Wenn nicht vorhanden Zeile einfügen
4. Datei speichern
....
dim FileText : FileText = rFile.ReadAll
rFile.Close
if Instr(FileText, Eintrag) = 0 then
FileText = Replace(FileText, "[TERRAIN]", "[TERRAIN]" & vbnewline & Eintrag)
Set wFile = fso.CreateTextFile(Datei, True)
wFile.Write FileText
wFile.Close
end if
....
E.