如何使用powershell替换反斜杠CR LF

时间:2015-07-22 00:46:41

标签: windows powershell batch-file

我尝试过在“foo”之后尝试用html“br”标签替换“\ cr lf”的许多组合。

我的输入文件(tempA.txt)如下所示(斜杠后第1行末尾有一个cr lf):

foo\
bar

我正在使用powershell命令(在bat文件中),如下所示:

type c:\temp\tempA.txt
powershell -Command "(gc c:\temp\tempA.txt) -replace '\\`r`n', '<br>' | Out-File c:\temp\tempB.txt"
type c:\temp\tempB.txt

我的输出文件(tempB.txt)没有改变。我希望输出文件包含

foo<br>bar

如何用简单的html“br”标签替换“\ cr lf”?

2 个答案:

答案 0 :(得分:2)

更改您的第一个-replace运算符arg以使用双引号字符串:

... -replace "\\`r`n", '<br>'

PowerShell中的单引号字符串是一个文字字符串,因此反引号不能转义字符。

答案 1 :(得分:1)

Get-Content会将您的文件拆分为一系列行。基于此,您只需将\替换为<br>并将这些行连接在一起。

(gc c:\temp\tempA.txt) -replace '\\', '<br>' -join '' | Out-File c:\temp\tempB.txt