Per VB-SCRIPT Inhalt an bestimmter stelle in eine INI Schreiben
Bin Totaler Anfänger und muß jetzt in eine INI Datei eine Zeile hinzufügen.
Es soll folgendes gemacht werden: Ich habe auf allen Rechner im Netzt eine INI Datei in der die Konfi für ein Programm abgelegt ist jetzzt muß ich aber eine Zeile an einer bestimmten stelle einfügen damit eine Option freigeschaltet wird kann aber nicht jedem eine neue INI drauf kopieren sonst gehen die jeweiligen einstellungen verloren. Kann mir bitte jemand helfen ??? Habe an VB-SCRIPT gedacht habe aber keinen schimmer wie ich es anstellen soll.
Es soll folgendes gemacht werden: Ich habe auf allen Rechner im Netzt eine INI Datei in der die Konfi für ein Programm abgelegt ist jetzzt muß ich aber eine Zeile an einer bestimmten stelle einfügen damit eine Option freigeschaltet wird kann aber nicht jedem eine neue INI drauf kopieren sonst gehen die jeweiligen einstellungen verloren. Kann mir bitte jemand helfen ??? Habe an VB-SCRIPT gedacht habe aber keinen schimmer wie ich es anstellen soll.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 19915
Url: https://administrator.de/contentid/19915
Ausgedruckt am: 26.11.2024 um 18:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo joker_joke,
du brauchst ein Kriterium anhand dessen das Script die 'bestimmte Stelle' erkennen kann.
Eine 'bestimmte Stelle' ist bspw. auch die Anzahl der Zeichen bis zum Ende der viertletzten Zeile abzügl. des Zahlenwertes des heutigen Wochentages und des Alters meines Großmutter
Besser wäre allerdings eine bestimmte, immer gleiche, Zeilennummer oder auch eine bestimmte unabänderliche Zeichenfolge am Zeilenanfang bzw. in der Zeile.
Der User, der das Script ausführt braucht natürlich auch Schreibrechte auf die Datei.
Gruß
gemini
du brauchst ein Kriterium anhand dessen das Script die 'bestimmte Stelle' erkennen kann.
Eine 'bestimmte Stelle' ist bspw. auch die Anzahl der Zeichen bis zum Ende der viertletzten Zeile abzügl. des Zahlenwertes des heutigen Wochentages und des Alters meines Großmutter
Besser wäre allerdings eine bestimmte, immer gleiche, Zeilennummer oder auch eine bestimmte unabänderliche Zeichenfolge am Zeilenanfang bzw. in der Zeile.
Der User, der das Script ausführt braucht natürlich auch Schreibrechte auf die Datei.
Gruß
gemini
Versuch mal das hier:
Die Variablen strWorkDir, strInsert musst noch anpassen, evtl. auch strPathFind
Fehlerhandling etc. ist jetzt natürlich nicht eingebaut. Diese Aufgabe lege ich voller Vertrauen in deine Hände
' #### JokersZeilenzauber.vbs ####
Option Explicit
Dim objFSO, objWshNetwork, objFile
Dim strWorkDir, strText, strLine, strPathFind, strInsert
Const ForReading = 1, ForWriting = 2, ForAppending = 8
strWorkDir = "C:\_joker\whatever.ini"
strText = ""
strInsert = "Text to insert"
strPathFind = LCase("ESSNorm")
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strWorkDir) Then
Set objFile = objFSO.OpenTextFile(strWorkDir, ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
If Left(LCase(strLine), Len(strPathFind)) = strPathFind Then
strLine = strLine & vbCrLf & strInsert
End If
strText = strText & strLine & vbCrLf
Loop
objFile.Close
Else
MsgBox "Die Datei " & strWorkDir & " wurde nicht gefunden."
End If
Set objFile = objFSO.OpenTextFile(strWorkDir, ForWriting)
objFile.Write strText
objFile.Close
strWorkDir = ""
strText = ""
strLine = ""
strPathFind = ""
strInsert = ""
' ### eof ###
Die Variablen strWorkDir, strInsert musst noch anpassen, evtl. auch strPathFind
Fehlerhandling etc. ist jetzt natürlich nicht eingebaut. Diese Aufgabe lege ich voller Vertrauen in deine Hände
' #### JokersZeilenzauber.vbs ####
Option Explicit
Dim objFSO, objWshNetwork, objFile
Dim strWorkDir, strText, strLine, strPathFind, strInsert
Const ForReading = 1, ForWriting = 2, ForAppending = 8
strWorkDir = "C:\_joker\whatever.ini"
strText = ""
strInsert = "Text to insert"
strPathFind = LCase("ESSNorm")
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strWorkDir) Then
Set objFile = objFSO.OpenTextFile(strWorkDir, ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
If Left(LCase(strLine), Len(strPathFind)) = strPathFind Then
strLine = strLine & vbCrLf & strInsert
End If
strText = strText & strLine & vbCrLf
Loop
objFile.Close
Else
MsgBox "Die Datei " & strWorkDir & " wurde nicht gefunden."
End If
Set objFile = objFSO.OpenTextFile(strWorkDir, ForWriting)
objFile.Write strText
objFile.Close
strWorkDir = ""
strText = ""
strLine = ""
strPathFind = ""
strInsert = ""
' ### eof ###