VBscript替换文本但添加空行

时间:2013-07-03 19:58:13

标签: vbscript

我有以下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”

3 个答案:

答案 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