2014-07-03 154 views
1

上午都不在, 我有這個VBScript的修改ini文件:的VBScript替換文本 - 所有文件

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「我要搜索什麼」「的名字文件「」我想要替換「

此工作,但此腳本替換」我想要搜索的內容「中的所有單詞。 在我的「文件名稱」中有更多的同名的條目,我只想提出第一條。 Waht我可以做嗎? 謝謝

回答

1

引用Ansgar:如有疑問,請閱讀Docs。注意count參數。這將解決您的具體問題 - 只取代第一次出現。

更好,更一般的方法:使用RegExp,通過指定其密鑰來識別要更改的值。

+0

我很抱歉我的愚蠢的帖子...我感謝你的答案。我改變了值-1與1,現在它的工作...非常感謝,並scuse我的問題 – user3801383

相關問題