我想加载一个带有文件名和大小的哈希表,所以我这样做了:
#Get files
$htA = dir | Where-Object {$_.Name -match "\.output\.[A-Z]-[0-9]\.csv"} | ft name, @{Label=”Size” ; Expression = {$_.Length}}
它成功加载了文件名和大小,但当我尝试以这种方式用foreach读取表时:
$htA.Keys | % {
#Output to a text file
"key = $_ , value = " + $htA.Item($_) | format-table -AutoSize >> "C:\psTest\test1.txt"
}
它没有找到密钥,而是我得到了这个输出:
key =,value = Microsoft.PowerShell.Commands.Internal.Format.FormatStartData
我对此非常陌生,所以欢迎任何帮助。
答案 0 :(得分:2)
一般来说,如果你想对数据进行操作,你不应该使用format
命令,只有在你完成所有操作并想要查看数据时执行这些命令< / p>
$htA = dir | Where-Object {$_.Name -match "\.output\.[A-Z]-[0-9]\.csv"} | select name,length