我有多个包含 MP3 文件的文件夹。有些文件是重复的,但位于不同的文件夹中。
我想创建可打印的扩展属性列表(或元数据)以保留比特率最高的文件。
这些项目可以通过文件资源管理器查看,但这是一个繁琐的过程。主要关注与保真度相关的项目,例如比特率、长度以及艺术家。
答案1
根据 OP 的评论以及我最近缺乏 COBOL/ASM 经验,我将坚持我的评论中的建议。我确信我只比 OP 年轻一点,因为我也在计算机上使用 PUSH 和 JMP,但假设您不想只阅读打印的列表,而是实际对音乐进行排序和管理,请获取一个工具。如果这确实是您的偏好,我能够在大约 60 秒内用 MP3tag 生成可打印列表。
下载苹果 iTunes,MP3标签, 或者MusicBrainz Picard。
答案2
"C:\Program Files\MediaInfo CLI\MediaInfo.exe" "%userprofile\Music\Playlist\*.mp3" --Output=HTML --Full 2>>&1>>"%temp%\Full_Details_List.html"
使用 MediaInfo CLI,您可以使用标志保存 .mp3 文件的所有详细信息并将输出重定向到某个文件夹/文件:
---Output=HTML --Full 2>>&1>>"%temp%\Full_Details_List.html"
- 递归使用:
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"
- 简单的命令行
"C:\Program Files\MediaInfo CLI\MediaInfo.exe" "%userprofile\Music\Playlist\Imagine _ Playing For Change _ Song Around The WorldI.mp3"
- 如果您需要获取
Bit Rate
并保存文件中的完整文件名.cvs
,
请使用--Inform=General;%BitRate%
,需要双打%
->%%
@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 :EOF
您可以在 HTML 输出(转换为 PDF)中查看某些 mp3 的完整详细信息输出这里
- 有关命令输出的帮助:
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 risks
答案3
对于我的音乐文件,我使用 Jam 软件中的 FileList.exe 来获取我的所有音乐属性。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 这为我提供了列:贡献艺术家专辑艺术家专辑长度标题名称大小流派包含路径。我想查看重复的歌曲,因此我在标题和名称之间添加了一列,并添加了公式 =COUNTIF(E$1:E$5000,E2) - 我有 4500 个条目。将公式复制到所有行,然后按计数和名称排序以查看重复项。