在 OSX 中自动重命名文件

在 OSX 中自动重命名文件

示例:我们有一个文件夹,里面有 30 张名称不一致的图片。这些图片需要以一致且数字的形式命名:image1.jpg image2.jpg image3.jpg ... image30.jpg 这可以自动化吗?

答案1

监视文件夹的变化并可以重命名新添加的文件。具有全功能演示的商业版本。

Hazel 会监视您指定的所有文件夹,并根据您创建的规则自动整理文件。它具有与 Apple Mail 类似的规则界面,因此您应该会感觉非常熟悉。让 Hazel 根据名称、日期、类型、文件来源网站/电子邮件地址(仅限 Safari 和 Mail)等移动文件。

截屏


姓名粉碎机是一个文件重命名实用程序。只需将文件拖放到程序窗口并设置规则即可。预览显示文件随后将如何命名。具有全功能演示的商业版本。

Finder 有很多优点,但重命名大量文件不是其中之一。使用 Name Mangler,它可轻松完成所有文件重命名任务。

截屏


您的 Mac 配备自动机,一款可以让你创建所谓的工作流程

使用 Automator,您可以自动执行大部分计算机操作。使用地址簿中的联系人创建和打印家庭通讯录。从您喜爱的网站查找图片并将其添加到 iPhoto。将文档打印到 iPad。立即重命名 Finder 中的数十个文件。

启动它,然后选择创建一个新的工作流程。从库中添加获取指定 Finder 项目行动和重命名 Finder 项目操作(在被询问时不要创建文件的副本)。将文件拖放到第一个操作上以将其添加到工作流程中。配置第二个操作,如下所示使顺序新名字毫无隔阂. 按工具栏中的“播放”按钮运行。

截屏


要从 中的命令行执行此操作bash,请进入父目录并运行以下命令:

declare -i C=1 ; for file in *.jpg ; do mv "$file" "image$C.jpg" ; C=C+1 ; done

答案2

Driveby 回答,以防将来有人访问此页面:Yosemite(OSX 10.10)在 finder 中添加了批量重命名功能,因此现在所有人要执行诸如 OP 这样的操作所要做的就是选择所有需要重命名的文件,右键单击/控制单击它们,然后选择Rename X items...

答案3

您可以使用如下 shell 命令:

i=1;for f in *;do echo mv "$f" image$((i++)).jpg;done

echo如果输出看起来正确则删除。

另一个选项是运行brew install rename然后运行。如果输出看起来正确,则rename -n '$_=$N.".jpg"' *删除。是从 1 开始的文件编号,是当前行,用于 Perl 中的字符串连接。-n$N$_.

更多示例:

i=1;for f in *;do mv "$f" $(printf %03d $i).jpg;let i++;done
i=1;for f in *;do mv "$f" $(printf %03d $i).${f##*.};let i++;done
IFS=$'\n';i=1;for f in $(ls -rt);do mv "$f" "$((i++)) $f";done
for f in *.mp3;do mv "$f" "$(printf %02d ${f%% *}) ${f#* }";done
for f in *;do b=${f%.*};x=${f#*.};mv $f ${b%-*}-$(printf %03d ${b#*-}).$x;done
shopt -s extglob;for f in !(*.*);do mv $f $f.txt;done
for f in *;do mv "$f" "${f//[^a-zA-Z0-9.]}";done
rename 's/.*ep(..).*/Example EP$1 720p HDTV x264.srt/' *.srt

${f##*.}*.从开始处删除最长的模式,从末尾${f%.*}删除最短的模式。删除除 之外的所有字符。.*${f//[^a-zA-Z0-9.]}[a-zA-Z0-9.]

相关内容