PowerShell将哈希的内容输出到文件
我有代码将排序后的哈希表输出到屏幕:PowerShell将哈希的内容输出到文件,powershell,hashtable,Powershell,Hashtable,我有代码将排序后的哈希表输出到屏幕: $h.getenumerator() | sort value -descending 看起来是这样的: Name Value ---- ----- 10.10.10.10 69566308 151 10.10.10.11 69566308 143 10.10.10.12 69566308 11
$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
但是我想把它输出到一个文件中
当我尝试输出到具有
$h.getenumerator() | sort value -descending | out-string | Add-Content D:\Script\iis_stats.log
或
我得到的只是D:\Script\iis\u stats.log
中的“System.Collections.DictionaryEntry”
如何修复它?如果您希望它与屏幕上显示的格式相同(在管道处折叠以便于阅读):
如果您也这样做,屏幕上也会显示类似的输出:
$h.GetEnumerator() | sort value -Descending | ForEach-Object{
$_.GetType().FullName
}
对于每个条目,您都会看到System.Collections.DictionaryEntry
,因为它没有合适的等效字符串
那么你应该照mjolinor的建议去做。PowerShell会自动将
| Out Default
命令附加到控制台,以便以视觉上令人愉悦的方式显示。当您将输出发送到添加内容时
无法进行美化。您希望如何格式化输出?请后退一步,描述您试图解决的实际问题,而不是您认为的解决方案。哈希表的内容是什么样子的?数据来自哪里?输出应该是什么样子?@AnsgarWiechers Ok我编辑过
$h.getenumerator() |
Sort-Object value -descending |
Format-Table |
Out-String |
Add-Content D:\Script\iis_stats.log
$h.GetEnumerator() | sort value -Descending | ForEach-Object{
$_.GetType().FullName
}