我有两个在 powershell 中协同工作的功能:
Function Get-PropertyValue($fileName, $property)
{
$path = (Get-Item $fileName).FullName
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$shellfolder = $shell.Namespace($folder)
$shellfile = $shellfolder.ParseName($file)
$shellfolder.GetDetailsOf($shellfile,$property)
}
Function Create-List($files, $property)
{
$list = @{}
foreach ($file in $files)
{
$list.Add($file.toString(),(Get-PropertyValue $file $property).toString())
}
$list.GetEnumerator() | Sort-Object Value
}
这得到了我正在寻找的带有一个小缺陷的输出。我希望能够获取哈希表的键,并将其用作文件(类型DirectoryInfo
)。
这是一个与powershell中的哈希表相关的问题(至少据我所知,而不是特定于我上面的代码(它被包括在内,因为这是我遇到这个需求的方式,它不会很长,并且将不胜感激有关如何使其“更惯用”的评论)。
如何从哈希表中取出文件?