2015-01-09 37 views
1

我已代碼輸出哈希表進行排序,篩選哈希Powershell的內容輸出到文件

$h.getenumerator() | sort value -descending 

它看起來像這樣

Name       Value                                          
----       -----                                          
10.10.10.10 69566308   151                                          
10.10.10.11 69566308   143                                          
10.10.10.12 69566308   112                                          
10.10.10.13 69566308   99                                          
10.10.10.14 69566308   71                                          
10.10.10.15 69566308   70 

但我想輸出這不是一個文件。

當我嘗試輸出D:\Script\iis_stats.log

如何解決與

$h.getenumerator() | sort value -descending | out-string | Add-Content D:\Script\iis_stats.log 

$h.getenumerator() | sort value -descending | Add-Content D:\Script\iis_stats.log 

我得到的是 「System.Collections.DictionaryEntry」 到文件?

+0

如何格式化輸出? – Lee 2015-01-09 20:05:11

+0

請退後一步,描述您嘗試解決的實際問題,而不是您認爲的解決方案。你的哈希表的內容是什麼樣的?數據來自哪裏?輸出應該是什麼樣子? – 2015-01-09 20:06:14

+0

@AnsgarWiechers好的我編輯 – Glowie 2015-01-09 20:13:24

回答

1

如果你想在相同的格式將顯示在屏幕上(在管道以便閱讀)上:

$h.getenumerator() | 
sort value -descending | 
format-table | 
out-string | 
Add-Content D:\Script\iis_stats.log 
1

,如果你做了這樣的事情,以及

你會得到你的屏幕上類似的輸出
$h.GetEnumerator() | sort value -Descending | ForEach-Object{ 
    $_.GetType().FullName 
} 

對於每一個條目,你會看到System.Collections.DictionaryEntry,因爲它沒有適當的字符串等效。 .....那麼你應該做一下mjolinor的建議。 PowerShell自動將| Out-Default命令添加到控制檯,以便以令人滿意的方式顯示。當您將輸出發送至Add-Content時,不會發生美化問題