如何从目录中创建包含一堆视频文件的文件名、大小和时间长度(文本格式)的文件列表?

如何从目录中创建包含一堆视频文件的文件名、大小和时间长度(文本格式)的文件列表?

如何从目录中创建包含一堆视频文件的文件名、大小和时间长度(文本格式)的文件列表?

我想要文本格式的此 Windows 列表:

在此处输入图片描述

答案1

这可以使用 PowerShell 脚本完成:

$Folder = 'C:\Some\Directory'
$Output = 'C:\path\to\output.txt'
$Files = Get-ChildItem -Path $Folder -Filter *.mp4 -File
$objShell = New-Object -ComObject Shell.Application 
$objFolder = $objShell.Namespace($Folder)
foreach( $File in $Files ) {
    $objFile = $objFolder.ParseName($File)
    $Name = $objFolder.GetDetailsOf($objFile, 0)
    $Size = $objFolder.GetDetailsOf($objFile, 1)
    $Length = $objFolder.GetDetailsOf($objFile, 27)
    $Tab = [char]9
    "$Name$Tab$Size$Tab$Length" | Out-File -Append -FilePath $Output
}

一个解释:

  1. $Folder = 'C:\Some\Directory'设置要导出的目录。
  2. $Output = 'C:\path\to\output.txt'设置输出文件。
  3. $Files = Get-ChildItem -Path $Folder -Filter *.mp4 -File获取所有 MP4 文件的列表
  4. 以下检索文件夹,以便我们可以处理其中的文件。

        $objShell = New-Object -ComObject Shell.Application 
        $objFolder = $objShell.Namespace($Folder)
        $objFile = $objFolder.ParseName($File)
    
  5. foreach( $File in $Files )在每个文件之间{和上执行操作。}

    1. 下面打开文件并从您指定的列中获取信息:

      $objFile = $objFolder.ParseName($File)
      $Name = $objFolder.GetDetailsOf($objFile, 0)
      $Size = $objFolder.GetDetailsOf($objFile, 1)
      $Length = $objFolder.GetDetailsOf($objFile, 27)
      
    2. 以下将信息打印到制表符分隔的文本文件中

      $Tab = [char]9
      "$Name$Tab$Size$Tab$Length" | Out-File -Append -FilePath $Output
      

如果要输出其他列,可以使用 PowerShell 脚本获取列 ID这个答案

相关内容