VBscript 替换文本但添加空行

Posted

技术标签:

【中文标题】VBscript 替换文本但添加空行【英文标题】:VBscript replaces text but adds blank line 【发布时间】:2013-07-03 19:58:13 【问题描述】:

我有以下 vbscript 来替换文件中的文本。它完全符合我的要求,但是它在文件末尾为我所做的每次传递添加了一个空行。如果我将“黑色”替换为“红色”,然后将“白色”更改为“黄色”,则会在文本文件末尾添加两个空行。有没有办法改变它,使它不添加行?

这是脚本:

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

附言- 语法是:cscript /nologo replace.vbs InputFile "OldText" "NewText"

【问题讨论】:

你试过objFile.Write strNewText吗? 【参考方案1】:

objFile.WriteLine 在末尾添加一个换行符。你可能需要objFile.Write

WriteLine 将添加 \r\n (或任何系统换行符)

【讨论】:

【参考方案2】:

你的

strText = objFile.ReadAll

将读取文件的所有内容,包括(可能)结尾的 EOL。 (.ReadAll .ReadLine)

objFile.WriteLine strNewText

添加 EOL。所以用

objFile.Write strNewText

【讨论】:

【参考方案3】:

改变

objFile.Writeline 

objFile.Write

【讨论】:

以上是关于VBscript 替换文本但添加空行的主要内容,如果未能解决你的问题,请参考以下文章

用记事本++中的特定文本替换空行

删除 Notepad++ 中的空行

用 <p> 标签替换 textarea 中的空行并将其显示为 HTML 有效代码

Visual Studio Code-批量在文末添加文本字段

使用 VBScript 将代码回显到文件中

使用正则匹配删除文本空行 - 正则 - 空白行 - vscode