我试图检索一些扩展文件属性(mp3文件是精确的)中列出的“详细信息”选项卡,部分“媒体”与PowerShell.
还有其他属性,如bitrate
,genre
,album
等。Get-ItemProperty -Path $pathtofile | Format-List
不返回这些。Get-ItemProperty -Path $pathtofile | Get-Member
也没有列出它们。
奇怪的是,Get-ItemProperty
返回与Get-ChildItem
相同的输出。
我试过不同的文件(甚至非mp3),PowerShell没有列出任何地方的“细节”属性。
windows把这些存储在哪里?如何列出它们?
4条答案
按热度按时间zi8p0yeb1#
我看了一下艾德威尔逊的帖子。我可以看到他在Windows Vista上写的。从那时起,Powershell已经改变了一点。我已经调整了他写的代码,以便在Win 10上工作。希望这对你有帮助!
字符串
2admgd592#
更新3;我发现了一个更好的脚本,它应该完全符合你的要求,这是由令人难以置信的“嘿!脚本家伙”博客提供的。
博客文章
https://blogs.technet.microsoft.com/heyscriptingguy/2014/02/05/list-music-file-metadata-in-a-csv-and-open-in-excel-with-powershell/
功能
https://gallery.technet.microsoft.com/scriptcenter/get-file-meta-data-function-f9e8d804的
f4t66c6m3#
编辑:我将下面的原始代码片段合并到一个函数中,就像RiverHeart建议的那样。
字符串
请注意,
Name
和Value
列使用的是系统语言。也发现这个答案在一个类似的问题,列出了所有字段名称(英文)的id,除了
296
没有名称和-1
也没有名称(“信息提示信息”根据非常有限的documentation).根据JefNet的回答。
如果你只需要一个特定文件的信息,那么遍历目录树中的每个文件就太多了(对于大目录需要很长时间),所以这里是这个。
获取所有信息(包括空字段):
型
仅获取非空字段:
型
附注:
$($objFolder.GetDetailsOf($objFolder, $id))
以系统语言打印字段名称,而不总是英文,因此如果需要与不同语言保持一致,请使用$id
作为键。PPS.:如果你只想要一个字段值,用这个替换哈希表和for循环
型
PPPS.:所有这些都期望文件在当前文件夹中。如果不是这样,请修改
Get-Item .
以指向正确的文件夹。slhcrj9b4#
这个答案只是为了修复Nick W的答案中的链接。微软杀死了TechNet,但脚本在PowerShell Gallery上。
我在谷歌上搜索了以下内容:PowerShell“Get-FileMetaData”
地址:https://www.powershellgallery.com/packages/FC_SysAdmin/5.0.0/Content/public%5CGet-FileMetaData.ps1
我不能让它工作,哈哈。