通过powershell在命令行中列出.wav文件的元数据

通过powershell在命令行中列出.wav文件的元数据,powershell,metadata,powershell-2.0,wav,Powershell,Metadata,Powershell 2.0,Wav,我想在命令行中打印与wav文件目录相关联的元数据列表,作为我正在构建的索引系统的一小部分 这个项目的大部分都是用PHP编写的,我对此很满意。此部件需要powershell,因为带有wav文件的服务器上只有该文件 我在网上找到了一些代码: function funMetaData($folder) { foreach($sFolder in $folder) { $a = 0 $objShell = New-Object -ComObject Shell.Application $o

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

不太清楚您的问题,但我认为您不需要所有这些东西

$folder = 'c:\temp\test'

foreach ($file in (get-childitem $folder))
{
  $file.FullName
  $file.name
  $file.CreationTime
  $file.LastWriteTime
  $file.Length
}

我假设wav文件与其他音频文件具有相同类型的元信息。我已经创建了一个博客条目,在这里我使用一个名为taglib的第三方实用程序来提取PowerShell的此信息。看看它是否适合您的脚本编写需要: