windows/linux下批量修改文件名以及文件名后缀

时间:2021-01-19 19:15:09

Windows

rename命令可以用于批量修改文件名,在windows以及linux下都适用。windows下比较简单。且听娓娓道来。
首先你需要cd到你需要修改的那个文件夹,还有一个比较简单的方法是在你需要更改的文件夹下shift+右键,选择在此处打开命令行。
dir命令显示所有的文件名。
rename的使用方法就是

rename *.jpg *.png

意思就是把所有的jpg后缀改为png后缀。就是怎么简单,而如果要修改文件名则需要ren.bat批处理脚本文件了
简单的说就是,写一个bat文件,里面文件格式是

ren 旧文件名 新文件名

然后保存运行即可。
具体的实现方法建议参考
http://jingyan.baidu.com/article/0eb457e50d0ece03f1a905ca.html
http://mblzli.blog.163.com/blog/static/186618176201205111450378/

linux

rename同样也适用于linux系统下,但是使用方法与windows并不相同,并且linux下支持正则表达式。
比较简单就是替换文件名中的一部分字符串
首先还是在文件所在文件夹下启动terminal,然后ls该文件夹下的所有文件。
rename的使用方法是

rename '需要替换的字符串' '新的字符串' *.文件名后缀

当然也有很多正则表达式的方法,比如一些rename的典型应用
rename 的典型应用:

0. 批量更改文件扩展名 
$ ls
1.txt 2.txt 3.txt 4.txt
$ rename 's//.txt//.ext/' *
$ ls
1.ext 2.ext 3.ext 4.ext
1. 批量删除文件扩展名
$ ls
1.txt 2.txt 3.txt 4.txt
$ rename 's//.txt//' *
$ ls
1 2 3 4
2. 批量添加文件扩展名
$ ls
1 2 3 4
$ rename 's/$//.txt/' *
$ ls
1.txt 2.txt 3.txt 4.txt
3. 按自己的方式批量重命名文件
$ ls
1.ext 2.ext 3.ext 4.ext
$ rename 's/(/d)/第$1 章/' *
$ ls
1 章.ext 第 2 章.ext 第 3 章.ext 第 4 章.ext

关于linux下的正则表达式的用法还有很多,比如特殊字符匹配等等,具体学习是可参考具体案例使用。