답변1
AFAIK, 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"