使用 VBScript 将文本文件 unix 行结尾替换为 windows
replace text file unix line endings to windows by using VBScripts
文本文件新行是/n。当我用 Notepad 打开它时,它不显示新行。当我用 Notepad++ 打开它时,它显示新行。
我创建了一个 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
一个简单的例子 vbscript,基于我最初的评论:
Option Explicit
Const ForReading = 1
Const ForWriting = 2
Dim strTargetFile, objFSO, strText, strNewText, objFile
strTargetFile = "C:\Replace_Text.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strTargetFile, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, vbLf, vbCrLf)
Set objFile = objFSO.OpenTextFile(strTargetFile, ForWriting)
objFile.WriteLine strNewText
objFile.Close
WScript.Quit
还有一个简单的例子 batch-file,基于我的第二条评论:
@Echo Off
SetLocal EnableExtensions
Set "TargetFile=C:\Replace_Text.txt"
Set "TempFile=%TargetFile%.tmp"
Copy /Y "%TargetFile%" "%TempFile%"
Type "%TempFile%" | %SystemRoot%\System32\find.exe /V "" 1>"%TargetFile%"
If Not ErrorLevel 1 Del "%TempFile%"
文本文件新行是/n。当我用 Notepad 打开它时,它不显示新行。当我用 Notepad++ 打开它时,它显示新行。
我创建了一个 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
一个简单的例子 vbscript,基于我最初的评论:
Option Explicit
Const ForReading = 1
Const ForWriting = 2
Dim strTargetFile, objFSO, strText, strNewText, objFile
strTargetFile = "C:\Replace_Text.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strTargetFile, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, vbLf, vbCrLf)
Set objFile = objFSO.OpenTextFile(strTargetFile, ForWriting)
objFile.WriteLine strNewText
objFile.Close
WScript.Quit
还有一个简单的例子 batch-file,基于我的第二条评论:
@Echo Off
SetLocal EnableExtensions
Set "TargetFile=C:\Replace_Text.txt"
Set "TempFile=%TargetFile%.tmp"
Copy /Y "%TargetFile%" "%TempFile%"
Type "%TempFile%" | %SystemRoot%\System32\find.exe /V "" 1>"%TargetFile%"
If Not ErrorLevel 1 Del "%TempFile%"