我有以下vbscript来替换文件中的文本。它完全符合我的要求,但是对于我制作的每个传递,它会在文件末尾添加一个空行。如果我用'red'替换'black'然后将'white'改为'yellow',它会在文本文件的末尾添加两个空行。有没有办法改变它,所以它不添加线?
这是脚本:
Const ForReading = 1
Const ForWriting = 2
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close
P.S。 - 语法是:cscript / nologo replace.vbs InputFile“OldText”“NewText”
答案 0 :(得分:2)
objFile.WriteLine
在最后添加换行符。您可能需要objFile.Write
WriteLine将添加\ r \ n(或系统换行符)
答案 1 :(得分:1)
你的
strText = objFile.ReadAll
将读取文件的所有内容,包括(可能)尾随EOL。 (.ReadAll<> .ReadLine)
objFile.WriteLine strNewText
将添加 EOL。所以使用
objFile.Write strNewText
答案 2 :(得分:0)
更改
objFile.Writeline
到
objFile.Write