我有一些‘老式’的MP3播放器,只适用于ID3v1标签。我的许多MP3文件只有ID3v2标记,而ID3v1区域是空的。
我找到了一种将ID3v2中的内容批量复制到ID3v1区域的好方法(请参阅下面的*),但在对数万个MP3文件执行此操作之前,我可能会发现一些只有ID3v1信息的文件,在这种情况下,复制(空白) ID3v2可能会擦除标记
(我通过创建一个只有MP3标记而没有v1的v2来运行一个测试,看起来我的解决方案并没有用空格覆盖v1,但我还是有点担心。)
您能想到一种简单的方法来批量搜索只有MP3标记而没有ID3v2数据的ID3v1文件吗?
Linux首选(可能是通过kid3命令?)但Windows是可行的。
我将ID3数据从ID3v2复制到ID3v1的方式是使用Python应用程序eyed3:
eyeD3 --to-v1.1 *.mp3
or
eyeD3 --to-v1.1 PATH
如前所述,我还安装了kid3,这对于GUI的使用非常有用,但是命令行正在翻转复杂的.!
发布于 2022-08-28 21:26:06
一个自制的脚本会做得很好:
#!/bin/bash
find . -type f -name "*\.mp3" -print0 | while IFS= read -r -d '' file
do
if ! eyeD3 -1 "$file" 2>&1 | grep -q "No ID3 v1.x tag"
then
echo "$file"
fi
done
eyeD3 -1 "$file"
打印“没有找到ID3 v1.x标签!”当不存在时,请使用echo "$file"
将只对确实有v1标记的文件执行。https://stackoverflow.com/questions/73521887
复制相似问题