首页 > 解决方案 > 使用 Powershell 从子目录中的多个 .mp4 中删除元数据

问题描述

目标:删除 'e:\movies2' 目录和子目录中所有 .mp4 文件的标题和注释。我找到了一个有用的脚本,但已经达到了可以选择要删除但实际上不能删除的数据的地步。

Function Get-FileMetaData
{
  Param([string[]]$folder)
 foreach($sFolder in $folder)
  {
   $a = 0
   $objShell = New-Object -ComObject Shell.Application
   $objFolder = $objShell.namespace($sFolder)

   foreach ($File in $objFolder.items())
    { 
     $FileMetaData = New-Object PSOBJECT
      for ($a ; $a  -le 266; $a++)
       { 
         if($objFolder.getDetailsOf($File, $a))
           {
             $hash += @{$($objFolder.getDetailsOf($objFolder.items, $a))  =
                   $($objFolder.getDetailsOf($File, $a)) }
            $FileMetaData | Add-Member $hash
            $hash.clear() 
           } 
       } 
     $a=0
     $FileMetaData
    } 
  } 
} 

$movieMetadata = Get-FileMetaData -folder (gci e:\movies2 -Recurse -Directory).FullName
$movieMetadata | Select Title, Comments

以下不起作用:

$movieMetadata | Clear-Variable Title, Comments

我可以解决这个问题,还是有办法将 Title 和 Comments 设置为 $null?

标签: powershellmetadatamp4

解决方案


推荐阅读