2016-04-08 17 views
0

テキストファイルにpowershellコマンドレットの結果を出力しようとしていますCompare-Object問題は楕円の切り捨てを排除できません。テーブル出力から楕円を削除します。

次のコードは、パスの列の幅を1000に指定するテーブル書式定義変数です。ただし、出力ファイルは常に122文字でPath列を切り捨てます。

Compare-Objectコマンドレットは、2つのサーバー間の一般的なフォルダパスのファイルパス文字列のリストだけである2つのArrayListを比較しています。

私がしようとしているのは、SideIndicatorを最初の列に、フルパスを2番目の列に配置することです。私は、ファイルパスを切り捨てることは望ましくありません。

$tableFormat = @{Expression={$_.SideIndicator};Label="Side Indicator";width=15}, @{Expression={$_.InputObject};Label="Path";width=1000} 
$outputFilename = ($server1 + "_" + $server2 + "_FileCompare" + ".txt"); 
Compare-Object $Hive1FileArray $Hive2FileArray -IncludeEqual | Format-Table $tableFormat | Out-String | Out-File $outputFilename 

enter image description here

私はまた、パイプからOut-Stringを削除すると違いはありません試してみました。

ここで何が問題になりますか?

おかげ

答えて

0
Compare-Object $Hive1FileArray $Hive2FileArray -IncludeEqual |` 
    Format-Table $tableFormat -AutoSize |` 
     Out-String -Width 1000 |` 
      Out-File $outputFilename 

読む

-AutoSize 

はワットに基づいて列の列サイズと数を調整しますデータの幅は です。既定では、列のサイズと数は ビューによって決定されます。

-Width <Int32> 

出力の各行の文字数を指定します。 追加文字は、ラップされていないが切り捨てられます。この パラメータを省略すると、幅はホスト プログラムの特性によって決まります。 Windows PowerShellコンソールの既定値は80 (文字)です。

はるかに...

Compare-Objectコマンドレットの入力がオブジェクトを知らないと言うことではありません
関連する問題