I have multiple folders with MP3 files. Some files are duplicates but in separate folders.
I want to create printable list of extended attributes — or metadata — to retain the file with the highest bit-rate.
These items are viewable with file explorer but it’s a tedious process. Mainly interesting in fidelity relate items such as bit rate, length as well as artist.
103 Answers
Based on OP's comments, and my lack of recent COBOL/ASM experience, I'm going to stand by my recommendation in my comment. I'm sure I'm only slightly younger than OP as I also PUSH'd and JMP'd my way around a computer, but assuming you don't want to just read a printed list, but actually sort and manage your music, get a tool. I was able to generate a printable list in MP3tag in about 60 seconds if that is truly your preference.
Download Apple iTunes, MP3Tag, or MusicBrainz Picard.
1"C:\Program Files\MediaInfo CLI\MediaInfo.exe" "%userprofile\Music\Playlist\*.mp3" --Output=HTML --Full 2>>&1>>"%temp%\Full_Details_List.html"Use: Mediainfo CLI (Command Line Interface)
With MediaInfo CLI you can save all details from yours .mp3 files by using flags and redirect outputs to some folder/file:
---Output=HTML --Full 2>>&1>>"%temp%\Full_Details_List.html"- For use recursively:
for /f tokens^=* %i in ('where /r "%userprofile%\Music\Playlist" *.mp3')do "C:\Program Files\MediaInfo CLI\MediaInfo.exe" "%~i" --Full --Output=HTML 2>>&1>>"%temp%\Full_Details_List.html"- Simple command line
"C:\Program Files\MediaInfo CLI\MediaInfo.exe" "%userprofile\Music\Playlist\Imagine _ Playing For Change _ Song Around The WorldI.mp3"- If you need get
Bit Rateand save with full file name in.cvsfile,
use--Inform=General;%BitRate%, in need bat double%->%%
@echo off && setlocal enabledelayedexpansion
set "_mp3_folder=D:\Path\To\Mp3\Folder"
set "_Out_Log_CSV=%temp%\File_Path_Bit_Rate_Table.csv"
2>nul del /q /f "!_Out_Log_CSV!"
for /f tokens^=* %%I in ('where /r "!_mp3_folder!" *.mp3')do echo; & (set /p "'=File,%%~I,Bit Rate," <nul "C:\Program Files\MediaInfo CLI\MediaInfo.exe" --Inform=General;%%BitRate%% "%%~I" ) 2>>&1>>"!_Out_Log_CSV!"
Start "" /b "!_Out_Log_CSV!" && endlocal && goto :EOFYou can view the full details output from some mp3 in HTML output (converted to PDF) here
- For help in command output:
MediaInfo Command line,
MediaInfoLib - v20.03
Usage: "MediaInfo [-Options...] FileName1 [Filename2...]"
Options:
--Help, -h Display this help and exit
--Help-Output Display help for Output= option
--Help-AnOption Display help for "AnOption"
--Version Display MediaInfo version and exit
--Full, -f Full information Display (all internal tags)
--Output=HTML Full information Display with HTML tags
--Output=XML Full information Display with XML tags
--Output=OLDXML Full information Display with XML tags using the older MediaInfo schema
--Output=JSON Full information Display using JSON
--Output=EBUCore Full information Display with EBUCore compliant XML tags
--Output=EBUCore_JSON Full information Display with EBUCore 1.8 compliant JSON
--Output=PBCore Full information Display with PBCore compliant XML tags
--Output=PBCore2 Full information Display with PBCore 2.0 compliant XML tags
--AcquisitionDataOutputMode=segmentParameter Display Acquisition Data by segment then parameter (EBUCore and NISO Z39.87 outputs)
--AcquisitionDataOutputMode=parameterSegment Display Acquisition Data by parameter then segment (EBUCore and NISO Z39.87 outputs)
--ExternalMetadata=... Add external metadata to the output (EBUCore output)
--ExternalMetadataConfig=... Output template for external metadata (EBUCore output)
--Info-Parameters Display list of Inform= parameters
--Language=raw Display non-translated unique identifiers (internal text)
--Details=1 Display mediatrace info
--File_TestContinuousFileNames=0 Disable image sequence detection
--LogFile=... Save the output in the specified file
--BOM Byte order mark for UTF-8 output
--Ssl_CertificateFileName=... File name of the SSL certificate. The default format is "PEM" and can be changed with --Ssl_CertificateFormat.
--Ssl_CertificateFormat=... File format of the SSL certificate. Supported formats are "PEM" and "DER"
--Ssl_PrivateKeyFileName=... File name of the SSL private key. The default format is "PEM" and can be changed with --Ssl_PrivateKeyFormat. Note: private key with a password is not supported.
--Ssl_PrivateKeyFormat=... File format of the SSL private key. Supported formats are "PEM" and "DER"
--Ssl_CertificateAuthorityFileName=... File name of the SSL certificate authorities to verify the peer with.
--Ssl_CertificateAuthorityPath=... Path of the SSL certificate authorities to verify the peer with.
--Ssl_CertificateRevocationListFileName=... File name of the SSL certificate revocation list. The format is "PEM"
--Ssl_IgnoreSecurity=... Does not verify the authenticity of the peer's certificate Use it at your own risks
--Ssh_PublicKeyFileName=... File name of the SSH private key. Default is $HOME/.ssh/id_rsa.pub or $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, and just "id_rsa.pub" or "id_dsa.pub" in the current directory if HOME is not set. Note: you need to set both public and private key.
--Ssh_PrivateKeyFileName=... File name of the SSH private key. Default is $HOME/.ssh/id_rsa or $HOME/.ssh/id_dsa if the HOME environment variable is set, and just "id_rsa" or "id_dsa" in the current directory if HOME is not set. Note: you need to set both public and private key. Note: private key with a password is not supported.
--Ssh_KnownHostsFileName=... File name of the known hosts The format is the OpenSSH file format (libssh2) Default is $HOME/.ssh/known_hosts if the HOME environment variable is set, and just "known_hosts" in the current directory if HOME is not set.
--Ssh_IgnoreSecurity Does not verify the authenticity of the peer (you don't need to accept the key with ssh first) Use it at your own risksFor downloading x32 MediaInfo CLI v20.03 Windows x86
For downloading x64 MediaInfo CLI v20.03 Windows x64
1For my music files I use FileList.exe from Jam software to get all my music attributes. Music>..\FileList.exe /USECOLUMNS system.Music.Artist,System.Music.AlbumArtist,System.Music.AlbumTitle,System.Media.Duration,system.Title ,NAME,Size,System.Music.Genre,PATHWITHOUTNAME /INCLUDE * > music.csv This gives me columns: Contributing artists Album artist Album Length Title Name Size Genre Containing Path. I wanted to see the duplicated songs so I added a column between Title and Name and added the formula =COUNTIF(E$1:E$5000,E2) - I have 4500 entries. Copy formula down for all rows and now sort on count and name to see duplicates.