我在PowerShell脚本中使用StringBuilder.Replace在输出到日志文件之前去除文本字段中的换行符。下面是我正在使用的一个例子......它在我们的开发环境中完美运行。但是,在实时环境中,根本没有删除换行符。有谁知道什么可能导致它从环境到环境的不同?实时服务器上有更多内容,但由于实际系统与dev相同,因此所有文本字段本身都是相同的。
$log = "C:\mylogfile.csv"
$newline = [System.Environment]::NewLine
$sb2 = New-Object System.Text.StringBuilder
$sb2.Append("Text fields")
$sb2.Replace($newline,".")
$sb2.ToString() | Out-File $log -Append
答案 0 :(得分:1)
好的,sod的法律,我在这里张贴后不久找到了解决方案..!
以下适用于我。我试着用'r和'n没有运气,但是通过与NewLine一起做这两个,现在所有的换行都被删除了:
$log = "C:\mylogfile.csv"
$newline = [System.Environment]::NewLine
$charsToStrip = "`r","`n", $newline
$sb2 = New-Object System.Text.StringBuilder
$sb2.Append("Text fields")
foreach ($char in $charsToStrip)
{
$sb2.Replace($char,".")
}
$sb2.ToString() | Out-File $log -Append