我想在命令行中打印与wav文件目录关联的元数据列表,作为我正在构建的索引系统的一小部分。
大部分项目都是用PHP编写的,我很好。这部分需要PowerShell,因为带有wav文件的服务器上只有它。
我在网上找到了一些代码:
function funMetaData($folder)
{
foreach($sFolder in $folder)
{
$a = 0
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.namespace($sFolder)
foreach ($strFileName in $objFolder.items())
{ FunLine( "$($strFileName.name)")
for ($a ; $a -le 266; $a++)
{
if($objFolder.getDetailsOf($strFileName, $a))
{
$hash += @{ `
$($objFolder.getDetailsOf($objFolder.items, $a)) =`
$($objFolder.getDetailsOf($strFileName, $a))
} #end hash
$hash
$hash.clear()
} #end if
} #end for
$a=0
} #end foreach
} #end foreach
} #end funMetadata
这不是我的,我测试了它,它接近我想要的。我希望能够只打印文件名,创建日期,修改日期和文件长度,我不知道从哪里开始打破这个。
有人可以指出我正确的方向,请给我几个例子吗?请记住,powershell对我来说是全新的,到目前为止,我发现它的语法本身非常“不同”。
答案 0 :(得分:0)
不确定清楚地理解你的问题,但我认为你不需要那些东西。
$folder = 'c:\temp\test'
foreach ($file in (get-childitem $folder))
{
$file.FullName
$file.name
$file.CreationTime
$file.LastWriteTime
$file.Length
}
答案 1 :(得分:0)
我假设wav文件与其他音频文件具有相同类型的元信息。我创建了一个博客条目,我使用名为taglib的第三方实用程序为PowerShell提取此信息。看看它是否符合您的脚本需求:ID3 Tag Editing