Windows, macOS, Linux 系统下都有操作简单的批量修改后缀名的方法,无需安装或借助额外的工具,原生的操作系统即可进行批量操作。

我们可能经常需要在网络上获取资源,而有些网站的媒体文件没有后缀名,并使用 Javascript 或是相关加密播放工具在线预览和播放。当我们批量下载完这些没有后缀名的媒体文件后,如何批量修改呢?

Windows

Windows 操作系统有自己的 .bat 批处理文件,而且语法简单、操作简便,是不二之选。

Rename 命令就是我们需要的,一行语法即可搞定,下面以 .jpg 后缀批量修改为 .png 后缀为例:

ren *.jpg *.png

// * 是指后缀名之前的文件名称的通配符
// 红色 *.jpg 现在的文件后缀名
// 蓝色 *.png 想要修改后的文件后缀名

通配符一般分为两种:

星号(*) 可以代替0个或多个字符
问号(?) 可以代替一个字符

在记事本中输入后,另存为 .bat 文件,将 .bat 文件与要修改后缀名的文件放置在同一个文件夹中,运行 .bat 批处理文件即可。

下面,问题来了,如果是没有后缀名的文件,想要加上后缀名该怎么办呢?

ren * *.jpg

直接用 * 匹配名称即可,这里有一个问题,会将 .bat 批处理文件也修改为目标后缀名,其实影响不大,批处理指令我们使用完成后也会删除,如果你想要保留 .bat 批处理文件,可以使用 cd 添加执行目录

cd C:\Users\haoning\Desktop\add-jpg
ren * *.jpg

// cd 后路径为要修改的媒体文件文件夹地址
macOS & Linux

macOS 与 Linux 操作系统,那就要使用 Shell脚本 来完成这个任务啦!

Shell 语句总共分为三行:路径操作完成,以 .jpg 后缀批量修改为 .png 后缀为例:

for i in /Users/wuhaoning/Downloads/*.jpg;
do mv "$i" "${i%.jpg}.png";
done

// 第一行是在macOS“下载”文件夹中读取所有.jpg后缀的文件
// 第二行执行mv指令,现有后缀名写在{}中,目标后缀名写在最后
// 第三行结束sh语句

将以上代码保存为 .sh 后缀的文本格式,然后在 Terminal (终端) 中执行此 Shell 即可:

同理,如果是没有后缀名的文件,想要加上后缀名该怎么办呢?

for i in /Users/wuhaoning/Downloads/*;
do mv "$i" "${i%}.jpg";
done

同理,直接用 * 匹配名称即可,同样也有一个问题,会将 shell 文件也修改为目标后缀名,因为已有执行目录,如果你想要保留 .sh 文件,只需将 .sh 放到执行文件夹以外即可

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Next Post

小喵心语开发笔记

周日 1 月 13 , 2019
“小喵心语” 是我的原创校 […]