我有大量的图片文件,想要了解它们的详细信息。 这些详细信息显示在Windows资源管理器上右键单击属性
然而,有数千个这样的文件,所以我必须在其中任何一个 Powershell或Gnubash或DOS
似乎filever.exe曾经这样做 - 但它不适用于windows10。 https://support.microsoft.com/en-us/kb/913111
有人可以帮忙吗?
谢谢!
答案 0 :(得分:3)
博士。 Tobias Weltner写了一篇专门关于获取扩展文件属性的博客文章 - 我相信这是你想要的。
http://powershell.com/cs/blogs/tobias/archive/2011/01/07/organizing-videos-and-music.aspx
本质上,Shell.Application COM对象是你的朋友:
$path = 'C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3'
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$shellfolder = $shell.Namespace($folder)
$shellfile = $shellfolder.ParseName($file)
现在,它取决于文件类型可用的扩展属性。它们由索引号引用。要获取索引号和属性名称的列表:
0..287 | Foreach-Object { '{0} = {1}' -f $_, $shellfolder.GetDetailsOf($null, $_) }
如果您想获得仅包含文件中实际值的列表,这会很有帮助:
0..287 | Where-Object { $shellfolder.GetDetailsOf($shellfile, $_) } |
Foreach-Object {
'{0} = {1} = {2}' -f $_,
$shellfolder.GetDetailsOf($null, $_),
$shellfolder.GetDetailsOf($shellfile, $_)
}
要仅引用单个属性,只需将索引号用于要读取的属性即可。查看我系统上的jpeg文件,索引169给出了宽度:
$shellfolder.GetDetailsOf($shellfile, 169)
查看Weltner博士的博客文章,了解一个名为Add-FileDetails的非常有用的函数,您可以将输出从dir / get-childitem输出到并使用您感兴趣的详细信息获取对象。