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 放到执行文件夹以外即可:

