
Antwort1
Soweit ich weiß, gibt es für CMD keine Möglichkeit, ohne WScript-Skripting Metadatenattribute abzurufen, wieDauer,Komponisten, oderBitrate. Jedoch,Power Shellbietet die Möglichkeitum diese Informationen zu sammeln.
Das folgende, angepasste Skriptvon StackOverflow, einlaufenPower Shell, durchsucht den Ordner rekursiv und leitetOrdner,DateinameUndDauerin eine 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
Es erstellt die unten angezeigte CSV.
Ändern Sie das Skript nach Bedarf, um den Speicherort der Dateien festzulegen und die Metadaten anzuzeigen oder auszublenden.
Antwort2
Verwendenffprobe.exe (FFmpeg)in einer Schleife in Ihrem Ordner, in dem Sie die Dateien haben, die Sie auflisten möchten
@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"