Textzeile in Datei einfügen wenn bestimmtes Wort nicht vorhanden
Guten Abend allerseits
Dieser Script fügt eine Textzeile in Datei ein aber auch dann wenn Zeile in diesem Fall "HIMEMFIX=1"
schon vorhanden ist, mit dem Resultat, dass die Zeile dann doppelt da steht!?
Ich möchte aber, dass der Script nichts tut sollte die Zeile bereits vorhanden sein!
Ich habe schon überall rum gegoogelt aber nichts passendes gefunden!
Hier der Script:
Besten Dank im Voraus für eure Hilfe.
aletri
Dieser Script fügt eine Textzeile in Datei ein aber auch dann wenn Zeile in diesem Fall "HIMEMFIX=1"
schon vorhanden ist, mit dem Resultat, dass die Zeile dann doppelt da steht!?
Ich möchte aber, dass der Script nichts tut sollte die Zeile bereits vorhanden sein!
Ich habe schon überall rum gegoogelt aber nichts passendes gefunden!
Hier der Script:
Dim objShell,appdata
Set objShell = CreateObject("wscript.shell")
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
strNewLine = "HIMEMFIX=1"
strFileName = (appdata & "\Microsoft\FSX\fsx.cfg")
Const FOR_READING = 1
Const FOR_WRITING = 2
strCheckForString = UCase("[GRAPHICS]")
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
Besten Dank im Voraus für eure Hilfe.
aletri
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 279115
Url: https://administrator.de/contentid/279115
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
solltest du eigentlich inzwischen wissen, anhand der Beispiele die wir dir hierzu schon zu genüge geliefert haben ...
Gruß jodel32
solltest du eigentlich inzwischen wissen, anhand der Beispiele die wir dir hierzu schon zu genüge geliefert haben ...
Dim objShell,appdata, regex, objFS, strContent, strFilename
Set objShell = CreateObject("wscript.shell")
Set objFS = CreateObject("Scripting.FileSystemObject")
Set regex = CreateObject("vbscript.regexp")
regex.Multiline = True: regex.IgnoreCase = True
regex.Pattern = "^HIMEMFIX=1"
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
strFileName = appdata & "\Microsoft\FSX\fsx.cfg"
strContent = objFS.OpenTextFile(strFileName, 1).ReadAll()
if not regex.Test(strContent) then
strContent = Replace(strContent,"[GRAPHICS]","[GRAPHICS]" & vbNewline & "HIMEMFIX=1",1,1,1)
objFS.OpenTextFile(strFileName, 2).Write(strContent)
end If
set regex = Nothing
Set objFS = Nothing
Set objShell = Nothing
Sorry da war eine Variablendeklaration in Zeile 1 doppelt ...ist korrigiert. Hätte man aber auch eigentlich selber sehen können
Musst du nochmal den Code kopieren vermutlich ist da was schief gelaufen ....
Zeile 11 ist bei dir falsch, das set am Anfang der Zeile muss weg ...