【发布时间】:2018-05-11 03:27:13
【问题描述】:
在 PowerShell 脚本中,我将从 SQL Server 查询中读取的数据导出到一个 .csv 文件以制表符分隔。我需要删除所有回车符。
-replace '`r`n' 不工作。我认为角色是char(13)。
这是我的代码行不起作用:
(Get-Content $MyCSV_DOR) | % {$_ -replace '`r`n', " "} | out-file -FilePath $MyCSV_DOR -Force -Encoding ascii
我也尝试过以下方法:
`r, `n, \r, \n and \r\n
他们都未能删除角色。我还查看了建议的其他帖子。
有什么建议吗?
【问题讨论】:
-
你试过this
-
单引号字符串不接受转义字符,只接受双引号字符,因此需要
"`r`n",但是get-content不会输出任何带有换行符的字符串,因为它会破坏归档换行符本身,并输出单独的行。您需要get-content -raw将整个文件作为一个字符串读入管道,包括换行符 -
(Get-Content $MyCSV_DOR) -replace "`r`n" | Set-Content -Path $MyCSV_DOR -Force -Encoding ascii -
我总是用这个换行
[Environment]::NewLine -
@TessellatingHeckler 你应该把它作为问题+1的答案
标签: powershell replace carriage-return