递归批量重命名文件

递归批量重命名文件

我有一个音频库,每个文件夹中都有艺术作品,名称为:Cover.PNG、Cover.png、Cover.JPEG、Cover.jpeg、Cover.JPG、Cover.jpg……

如何递归找到所有这些文件并将它们全部重命名为 cover.png、cover.jpg?

正在寻找命令行方式来实现它。

答案1

在命令行附录之前发布

假设您可以在一个路径中获取它们,那么您可以使用 Finder 自己的重命名实用程序通过 3 次传递完成此操作。

使用一个小示例集,cover.png 的变体,在列表视图中打开层次结构的顶层。
选择/单击顶层将打开其中的整个层次结构……
(我最后才拍这张照片,因为我忘了包含这个步骤)

在此处输入图片描述

Cmd ⌘ A 全选

在此处输入图片描述

右键单击选择并在下拉菜单中选择重命名嗯嗯项目

在此处输入图片描述

在此处输入图片描述

在打开的窗口中,选择“替换文本”,然后键入现有的案例 -敏感名称。
输入区分大小写的替换 [第一次使用 png,第二次使用 jpg - 您可能需要第三次才能找到 jpeg 等杂散文件]
点击重命名。

在此处输入图片描述

对 jpg 和 jpeg 重复上述操作。
您不需要更改选择,因为它只会更改匹配的名称。

像这样进行 3 次传递可能比在“更智能”的应用程序中设置复杂的重命名规则更快。

答案2

我需要将各种图像文件重命名为“cover.jpg”,以便 artork 显示在 Sonos 中。基本上,我需要在每个子目录中运行:mv *.jpg cover.jpg

这就是这样做的结果:

find . -type f -name "*.jpg" -execdir mv {} cover.jpg \;

答案3

如果您熟悉命令行,请打开终端:

Application -> Utilities -> Terminal

然后运行如下命令:

find . -type f -name Cover.jpg -execdir mv {} cover.jpg \;

在哪里:

find . -type f -name <old> -execdir mv {} <new_name> \;

对每个想要重命名的文件都执行此操作。

答案4

有一些应用程序可以在这方面为您提供帮助。NameChanger 是免费的,以下是付费的:Renamer、File Renamer、Rename It。

如果您有一台 Windows 机器,我个人使用一款很棒的免费工具,名为 Bulk Rename Utility。它乍一看似乎很复杂且过时,但功能非常强大且超级易于使用。

相关内容