0

我想在命令行中打印与 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 对我来说是全新的,到目前为止,我发现它的语法本身非常“不同”。

4

2 回答 2

0

不确定是否清楚地理解您的问题,但我认为您不需要所有这些东西。

$folder = 'c:\temp\test'

foreach ($file in (get-childitem $folder))
{
  $file.FullName
  $file.name
  $file.CreationTime
  $file.LastWriteTime
  $file.Length
}
于 2013-09-02T04:43:15.763 回答
0

我假设 wav 文件将具有与其他音频文件相同类型的元信息。我创建了一个博客条目,在其中使用名为 taglib 的第 3 方实用程序为 PowerShell 提取此信息。看看它是否符合您的脚本需求:ID3 Tag Editing

于 2013-09-03T16:39:21.830 回答