【发布时间】:2021-09-11 03:23:58
【问题描述】:
文本文件换行是/n。当我用记事本打开它时,它不显示新行。当我用记事本++打开它时它会显示新行。
我创建了一个 VBscript 来用 \n(unix 行尾) 中的 \r\n(Windows 行尾) 替换新行。
该脚本不适用于替换新的 lin。当我将文本从 AAA 替换为 BBB 时,它可以工作:
什么是替换新行的替换表达式? -谢谢
我可以使用 windows 命令行 CMD-seg 替换新行吗?
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\Replace_Text.txt",ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "\n", "\r\n")
Set objFile = objFSO.OpenTextFile("c:\Replace_Text.txt",ForWriting)
objFile.WriteLine strNewText
objFile.Close
【问题讨论】:
-
这有帮助吗:
vbCr = "\r",vbLf = "\n",vbCrLf = "\r\n"? -
顺便说一下,来自 [cmd] 或 [batch-file],如果您不介意将制表符替换为空格,则可以使用
%SystemRoot%\System32\more.com "input.txt" 1>"output.txt",或者如果制表符很重要Type "input.txt" | %SystemRoot%\System32\find.exe /V "" 1>"output.txt".显然,在这两种情况下,这都不是行内替换,因此输出文件需要替换输入文件。 -
这是两个问题,你要么想在 VBScript 中执行此操作,要么使用批处理文件,而不是两者。无论哪种方式,它都是重复的,您不是第一个询问如何更正 Stack Overflow 上的 UNIX 行结尾的人。
标签: batch-file unix replace cmd vbscript