user2163020 Asked: 2019-12-05 09:10:01 +0800 CST2019-12-05 09:10:01 +0800 CST 2019-12-05 09:10:01 +0800 CST 如何从具有文本格式的一堆视频文件的文件名、大小和时间长度的目录创建文件列表? 772 如何从具有文本格式的一堆视频文件的文件名、大小和时间长度的目录创建文件列表? 我想要此 Windows 列表为文本格式: video directory-listing 1 个回答 Voted Best Answer Worthwelle 2019-12-05T10:12:12+08:002019-12-05T10:12:12+08:00 这可以使用 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 } 一个解释: $Folder = 'C:\Some\Directory'设置要导出的目录。 $Output = 'C:\path\to\output.txt'设置要输出到的文件。 $Files = Get-ChildItem -Path $Folder -Filter *.mp4 -File获取所有 MP4 文件的列表 下面检索文件夹,以便我们可以处理其中的文件。 $objShell = New-Object -ComObject Shell.Application $objFolder = $objShell.Namespace($Folder) $objFile = $objFolder.ParseName($File) 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 如果要输出其他列,可以使用此答案中的 PowerShell 脚本获取列 ID 。
这可以使用 PowerShell 脚本来完成:
一个解释:
$Folder = 'C:\Some\Directory'
设置要导出的目录。$Output = 'C:\path\to\output.txt'
设置要输出到的文件。$Files = Get-ChildItem -Path $Folder -Filter *.mp4 -File
获取所有 MP4 文件的列表下面检索文件夹,以便我们可以处理其中的文件。
foreach( $File in $Files )
在每个文件{
之间执行操作。}
下面打开文件并从您指定的列中获取信息:
以下将信息打印到制表符分隔的文本文件
如果要输出其他列,可以使用此答案中的 PowerShell 脚本获取列 ID 。