使用文件名和大小加载哈希表

时间:2017-03-16 16:38:35

标签: powershell

我想加载一个带有文件名和大小的哈希表,所以我这样做了:

#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

我对此非常陌生,所以欢迎任何帮助。

1 个答案:

答案 0 :(得分:2)

一般来说,如果你想对数据进行操作,你不应该使用format命令,只有在你完成所有操作并想要查看数据时执行这些命令< / p>

$htA = dir | Where-Object {$_.Name -match "\.output\.[A-Z]-[0-9]\.csv"} | select name,length