Respuesta1
AFAIK, CMD no tiene forma, sin utilizar secuencias de comandos WScript, de recuperar atributos de metadatos comoDuración,Compositores, oTasa de bits. Sin embargo,Potencia Shellproporciona las instalacionespara recopilar esa información.
El siguiente guión, adaptadode StackOverflow, entrar corriendoPotencia Shell, escanea la carpeta de forma recursiva y canalizaCarpeta,Nombre del archivoyDuracióna un 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
Crea el CSV que se muestra a continuación.
Modifique la secuencia de comandos según sea necesario para la ubicación de los archivos y para mostrar u ocultar los metadatos.
Respuesta2
Usarffprobe.exe (FFmpeg)en un bucle dentro de su carpeta donde tiene los archivos que desea enumerar
@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"