2009-06-24 12 views
2

psの出力を制御するのに少し問題があります。問題のコード行は次のとおりです。Powershellの出力

$result|sort-object cn | format-table -wrap -autosize 

私は

| out-file $logfile 

を追加する場合は、私の出力の最後の列が切り捨てられます。今私は私のコンソールセッションの幅を変更し、スクリプトを再実行すると、私の出力は正常ですが、これを行うためのより良い方法が必要であることを知っていますか?私はまた、追加コンテンツを使用しようとしましたが、式が正しく評価されていないので何かが欠けていると思うし、私はログファイル内のシステムオブジェクトへの参照を取得するだけです。

+0

あなたは、私はそれが明らかに代わり、サーバー管理の問題の間違ったアルゴリズムなので、それは、ここに属していると思いますserverfault.com – AgileJon

+0

を試してみてください。 – Joey

答えて

4

out-fileコマンドレットに-widthパラメーターを使用できます。あなたはout-file -width 500を試みるかもしれないので、何も切り詰められません。

1

私がこれまでに決定した最高​​の方法は、あなたが全体のラインがあることを期待よりも長い-Widthとアウトの文字列を使用することです:

$result | Format-Table -Autosize | Out-String -Width 4096 

上記の唯一の問題は、それがすることがあります行全体をスペースで埋めてください。また、これは私が持っていない場合(clip.exeでクリップボードに結果をパイプのための素晴らしいです

$result | Format-Table -Autosize | Out-String -Width 4096 -Stream | %{ $_.Trim() } 

:それを回避するためには、-streamスイッチおよび.Trim()それぞれの行を追加します。アウトクリップボードコマンドでインストールPSCXモジュール):

$result | Format-Table -Autosize | Out-String -Width 4096 -Stream | %{ $_.Trim() } | clip.exe 
関連する問題