寻找用于windows10的filwever.exe - 在命令提示符下查找Windows文件详细信息

时间:2016-07-27 21:57:42

标签: powershell windows-10

我有大量的图片文件,想要了解它们的详细信息。 这些详细信息显示在Windows资源管理器上右键单击属性

然而,有数千个这样的文件,所以我必须在其中任何一个 Powershell或Gnubash或DOS

似乎filever.exe曾经这样做 - 但它不适用于windows10。 https://support.microsoft.com/en-us/kb/913111

有人可以帮忙吗?

谢谢!

1 个答案:

答案 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输出到并使用您感兴趣的详细信息获取对象。