有没有办法可以快速更改文件夹中所有文件的所有文件扩展名?

有没有办法可以快速更改文件夹中所有文件的所有文件扩展名?

我有一个很大的 .m4b 有声读物文件夹,它们目前的格式无法在我的 Android 手机上播放。但是,如果将它们重命名为 .m4a,它们就可以正常工作

有没有一种快捷方法或终端命令可以将文件夹中的每个 .m4b 文件重命名为 .m4a?无需对文件进行任何转换,只需重命名文件扩展名即可。

答案1

这将为您完成这项工作。

rename 's/.m4b$/.m4a/' *.m4b

对于测试运行,您可以使用以下命令:

rename 's/.m4b$/.m4a/' *.m4b -vn

-v表示“详细”,它将在重命名文件时输出文件的名称。

-n将进行测试运行,其中不会重命名任何文件,但会向您显示将重命名的文件列表。

答案2

如果你只需要重命名文件,而不需要将它们转换为其他格式,那么有一种非常快捷的重命名文件的方法,那就是使用 Bash 的参数扩展,这些扩展在Bash 维基

有几种不同的方法来改变扩展,但我在这里使用简单的${var/original/replacement}范例:

for file in *.m4b; do mv -- "${file}" "${file/%m4b/m4a}"; done

如果您想查看命令会更改什么,请将其放在echo前面mv,然后会列出更改。

不用说,这个一行程序也可以针对其他文件进行修改,并且您也可以使用参数扩展来删除文件扩展名。

相关内容