答え1
私の知る限り、CMDはWScriptスクリプトを使用せずに、次のようなメタデータ属性を取得する方法はありません。間隔、作曲家、 またはビットレート。 しかし、パワーシェル施設を提供するその情報を収集するためです。
以下の脚本は、StackOverflowより、走るパワーシェルフォルダを再帰的にスキャンし、パイプするフォルダ、ファイル名そして間隔CSV に。
$Directory = "E:\Audio Files\_.mp3\Albeniz, Isaac"
$Shell = New-Object -ComObject Shell.Application
Get-ChildItem -Path $Directory -Recurse -Force | ForEach
{
$Folder = $Shell.Namespace($_.DirectoryName)
$File = $Folder.ParseName($_.Name)
$Duration = $Folder.GetDetailsOf($File, 27)
[PSCustomObject]@{
Folder = $_.DirectoryName
Name = $_.Name
Duration = $Duration}} | Export-Csv -Path "C:/temp/out.csv" -NoTypeInformation
以下に示すCSVが作成されます。
必要に応じて、ファイルの場所やメタデータの表示または非表示に応じてスクリプトを変更します。
答え2
使用ffprobe.exe (FFmpeg)リストしたいファイルがあるフォルダ内のループで
@echo off
cd /d "D:\Path\To\mp4\Videos\Folder\"
set "_ffprobe=C:\Program Files\FFmpeg\Bin\ffprobe.exe"
for /R %%I in (*.mp4)do @for /f eol^=^|delims^=. %%i in ('
@"%_ffprobe%" -i "%%~fI" -show_entries format^=duration -v quiet ^
-of csv^="p=0" -sexagesimal^|findstr/e .[0-9]')do echo\"%%~nxI",'0%%~i>>".\file.csv"