上午, 我有一个我用这个vbscript修改的ini文件:
Dim FileName, Find, ReplaceWith, FileContents, dFileContents
Find = WScript.Arguments(0)
ReplaceWith = WScript.Arguments(2)
FileName = WScript.Arguments(1)
FileContents = GetFile(FileName)
dFileContents = replace(FileContents, Find, ReplaceWith, 1, -1, 1)
WriteFile FileName, dFileContents
function GetFile(FileName)
If FileName<>"" Then
Dim FS, FileStream
Set FS = CreateObject("Scripting.FileSystemObject")
on error resume Next
Set FileStream = FS.OpenTextFile(FileName)
GetFile = FileStream.ReadAll
End If
End Function
function WriteFile(FileName, Contents)
Dim OutStream, FS
on error resume Next
Set FS = CreateObject("Scripting.FileSystemObject")
Set OutStream = FS.OpenTextFile(FileName, 2, True)
OutStream.Write Contents
End Function
现在我调用cscript replace.vbs“我要搜索的内容”“文件名”“我要替换的内容”
这项工作,但这个脚本取代了“我想要搜索的内容”中的所有单词。 在我的“文件名”中有更多具有相同名称的条目,我只想清除第一个条目。 我能做什么? 感谢
答案 0 :(得分:1)
引用Ansgar:如有疑问,请阅读Docs。注意count参数。这将解决您的具体问题 - 仅替换第一次出现。
更好,更通用的方法:使用RegExp通过指定其键来标识要更改的值。