2013-08-30 27 views
0

我正在使用PowerShell脚本中的StringBuilder.Replace在输出到日志文件之前去除文本字段中的换行符。下面是我正在使用的一个例子......它完全适用于我们的开发环境。但是,在现场环境中,根本没有换行符。有谁知道什么可能导致它与环境有所不同?活动服务器上有更多内容,但由于实际系统与开发者完全相同,因此所有文本字段本身都是相同的。Sharepoint和PowerShell - StringBuilder.Replace

$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 

回答

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 
相关问题