April 30, 2008 – 1:54 pm
I was asked how to modify an INI from a script. Its quite straight forward. Firstly have a read of the Scripting Guy article here. It explains the process quite well actually. However, I wanted to go a step further and setup arguments to make the script re-useable. So here is the modified script:
‘Usage: modini.vbs <full path to ini>, Parameter to change, New Value
‘Example: modini.vbs c:\folder\my.ini, Script, change
Const ForReading = 1
Const ForWriting = 2
strINIFile = WScript.Arguments.Item(0)
strParam = WScript.Arguments.Item(1)
strValue = WScript.Arguments.Item(2)
If WScript.Arguments.Count <> 3 Then WScript.Quit
Set objFSO = CreateObject(”Scripting.FileSystemObject”)
Set objTextFile = objFSO.OpenTextFile(strINIFile, ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
intLineFinder = InStr(strNextLine, strParam)
If intLineFinder <> 0 Then
strNextLine = strParam & “=” & strValue
End If
strNewFile = strNewFile & strNextLine & vbCrLf
Loop
objTextFile.Close
Set objTextFile = objFSO.OpenTextFile(strINIFile, ForWriting)
objTextFile.WriteLine strNewFile
objTextFile.Close
Here is a sample batch file calling the VBS script:
cscript //nologo modini.vbs “c:\my.ini” “Blog” “sometimes”
And thats it! Short and sweet.
Posted in General, Script | No Comments »