现在我正在使用以下命令手动转换终端中的每个文件夹,
for i in *.flac; do echo $i; ffmpeg -i "$i" -y -v 0 -vcodec copy -acodec alac "${i%.flac}".m4a && rm -f "$i"; done
当然,这只影响我在终端中访问的单个文件夹,而不影响任何子文件夹。因此,如果我在 Artist A 上执行,则找不到 flac。我必须在专辑 1 上执行,然后在专辑 2 上执行,等等。我有数千个文件夹需要经过这个过程,并且真的不知道命令中的元素是什么意思,所以我无法破译和扩充它。
我正在考虑使用两种方法来批处理我的目录和子文件夹。
1 - 对目录和所有子文件夹执行命令。这可能是最简单的方法。一旦我将所有文件迁移过来,我就可以执行命令一次转换数万个文件。
2 - 自动转换任何添加到目录的 .flac 文件。这种方法将是一种更“设置并忘记它”的方法。如果我将更多文件添加到目录/子文件夹中,它们将始终被转换。
目录结构:
音乐
。艺术家 A
.. 专辑 1
... 曲目 1.flac
Forfiles /s
可以做你想做的事。它可以检查文件夹中的文件并递归到子文件夹中。您想要使用的命令将是这样的(注意,我无法测试它,所以请耐心等待)