Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen
Guten Morgen an alle
Der folgende Vbscript fügt einer Texdatei eine bestimmte Zeile ein, das klappt soweit...
Nun sollte der Script diese Zeile nicht einfügen wenn Zeile (ungeachtet der Numerierung!!) bereits vorhanden ist!
Besten Dank in Voraus für Eure Hilfe!
Der folgende Vbscript fügt einer Texdatei eine bestimmte Zeile ein, das klappt soweit...
Nun sollte der Script diese Zeile nicht einfügen wenn Zeile (ungeachtet der Numerierung!!) bereits vorhanden ist!
Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
strNewLine = "SimObjectPaths.*=Addon Scenery\Europe\Italy\AnconaX\simobjects"
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,"*",num)
else
objTS.WriteLine arrLines(i)
End If
Else
objTS.WriteLine arrLines(i)
End if
next
objTS.Close
Besten Dank in Voraus für Eure Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 323605
Url: https://administrator.de/contentid/323605
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
7 Kommentare
Neuester Kommentar
regex.Pattern = "SimObjPaths.*=Addon Scenery\Europe\Italy\AnconaX\simobjects"
Das kann ja bei dem Regex nichts werden... Backslashes und viele andere Sonderzeichen müssen im Pattern natürlich escaped werden.regex.Pattern = "SimObjPaths.*?=Addon Scenery\\Europe\\Italy\\AnconaX\\simobjects"
SimObjectPaths
Schau dir den Regex und deine Textdatei nochmal an, dann siehst du den Fehler SimObjPathsMal wieder nicht gefrühstückt was