2016-04-08 89 views
0

我想輸出到文本文件powershell cmdlet的結果Compare-Object問題是我無法消除橢圓截斷。從表輸出中刪除橢圓

下面的代碼提供了一個表格格式定義變量,它指定了Path列的寬度1000。然而,輸出文件總是以122個字符截斷Path列。

Compare-Object cmdlet正在比較兩個ArrayList,它們只是兩個服務器之間公用文件夾路徑的文件路徑字符串列表。

我試圖做的是把SideIndicator作爲第一列和第二列的完整路徑。我不想截斷文件路徑。

$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 

調整基於W列的列大小和數量數據的寬度爲 。默認情況下,列大小和編號由 視圖確定。

-Width <Int32> 

指定字符的輸出的每一行的數目。 任何 其他字符被截斷,未包裝。如果省略此參數,則寬度取決於主機 程序的特性。 Windows PowerShell控制檯的默認值是80 (字符)。

沒有多說,不知道Compare-Object cmdlet的輸入對象...