3 回答
TA贡献1786条经验 获得超11个赞
使用moreWindows NT和更高版本中包含的命令,实际上可以非常轻松地完成此操作。转换input_filename包含UNIX EOL(行尾)\n到output_filename其中包含的Windows EOL \r\n,只是这样做:
TYPE input_filename | MORE /P > output_filename
该more命令具有您可能不知道的其他格式设置选项。奔跑more/?学习其他more可以做什么。
TA贡献1893条经验 获得超10个赞
您可以在没有VBScript中的其他工具的情况下执行此操作:
Do Until WScript.StdIn.AtEndOfStream
WScript.StdOut.WriteLine WScript.StdIn.ReadLine
Loop
将以上各行放入文件中unix2dos.vbs,然后像这样运行:
cscript //NoLogo unix2dos.vbs <C:\path\to\input.txt >C:\path\to\output.txt
或像这样:
type C:\path\to\input.txt | cscript //NoLogo unix2dos.vbs >C:\path\to\output.txt
您也可以在PowerShell中执行此操作:
(Get-Content "C:\path\to\input.txt") -replace "`n", "`r`n" |
Set-Content "C:\path\to\output.txt"
可以进一步简化为:
(Get-Content "C:\path\to\input.txt") | Set-Content "C:\path\to\output.txt"
上面的语句无需显式替换即可工作,因为Get-Content在任何类型的换行符(CR,LF和CR-LF)中隐式地拆分了输入文件,并Set-Content在将输入数组写入Windows之前将其与Windows换行符(CR-LF)连接在一起。
TA贡献1805条经验 获得超10个赞
我当时正在处理CRLF问题,所以我决定构建一个非常简单的转换工具(在NodeJS中):
这是NodeJS EOL转换器CLI
因此,如果您安装了带有npm的NodeJS,则可以尝试:
npm i -g eol-converter-cli
eolConverter crlf "**/*.{txt,js,java,etc}"
可以使用Glob regex(与shell中相同的regex)动态配置路径。
因此,如果可以使用NodeJS,它非常简单,可以集成此命令将整个工作区转换为所需的行尾。
- 3 回答
- 0 关注
- 717 浏览
添加回答
举报