0

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
4

1 に答える 1

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
于 2013-08-30T14:57:15.207 に答える