Per VBScript Zeile nach bestimmter Stelle einfügen dabei mit numerierung fortfahren!
Guten Abende allerseits
Dies ist ein Auszug der Datei an der eine Zeile eingefügt werden soll:
Dies ist ein Auszug der Datei an der eine Zeile eingefügt werden soll:
[Main]
User Objects=Airplane, Helicopter
SimObjectPaths.0=SimObjects\Airplanes
SimObjectPaths.1=SimObjects\Rotorcraft
SimObjectPaths.2=SimObjects\GroundVehicles
SimObjectPaths.3=SimObjects\Boats
SimObjectPaths.4=SimObjects\Animals
SimObjectPaths.5=SimObjects\Misc
HIER muss Zeile eingfügt werden!
Maximized=2
Location=440,130,1480,908,\\.\DISPLAY1
HideMenuNormal=0
Dieser Script fügt die Zeile zwar nach "SimObjectsPaths.5=SimObjects\Misc" ein!
Nun sollte der Script nach dem letzten vorhandenen "SimObjectPaths.X=egal was dachach kommt!! (X steht für irgend eine Zahl)
einfügen und dabei mit numerierung fortfahren!
Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
strNewLine = "SimObjectPaths.X=SimObjects\ATiObjects"
strFileName = (appdata & "\Microsoft\FSX\fsx.cfg")
Const FOR_READING = 1
Const FOR_WRITING = 2
strCheckForString = UCase("SimObjectPaths.5=SimObjects\Misc")
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
strContents = objTS.ReadAll
objTS.Close
arrLines = Split(strContents, vbNewLine)
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)
For Each strLine In arrLines
If (Left(UCase(LTrim(strLine)),Len(strCheckForString)) = strCheckForString) Then
objTS.WriteLine strLine
objTS.WriteLine strNewLine
else
objTS.WriteLine strLine
End If
next
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 299290
Url: https://administrator.de/contentid/299290
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
4 Kommentare
Neuester Kommentar
Cherio,
Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
strNewLine = "SimObjectPaths.X=SimObjects\ATiObjects"
strFileName = appdata & "\Microsoft\FSX\fsx.cfg"
Const FOR_READING = 1
Const FOR_WRITING = 2
strCheckForString = UCase("SimObjectPaths")
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
strContents = objTS.ReadAll
objTS.Close
arrLines = Split(strContents, vbNewLine)
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)
For i = 0 To UBound(arrLines)
if Len(arrLines(i)) >= Len(strCheckForString) then
If Left(UCase(LTrim(arrLines(i))),Len(strCheckForString)) = strCheckForString and Left(UCase(LTrim(arrLines(i+1))),Len(strCheckForString)) <> strCheckForString Then
num = CInt(Split(Split(arrLines(i),".")(1),"=")(0)) + 1
objTS.WriteLine arrLines(i) & vbNewline & Replace(strNewLine,"X",num)
else
objTS.WriteLine arrLines(i)
End If
Else
objTS.WriteLine arrLines(i)
End if
next
objTS.Close
Nur vergessen auf die Länge aller Zeilen zu prüfen... oben korrigiert.