各个系统(windows/linux/mac)下文件批量重命名,一条命令就够了
在系统中对文件进行重命名是常规操作,单一文件重命名很简单,但是涉及到大量文件重命名的时候,一般需要些技术手段才能处理。常规方法是网上找对应工具,用现成的工具不失为一种快速解决的办法,但是工具都是有使用范围的,比如有的工具只能在windows中使用,在macos下就不适用,我们就只能另找工具。因此,我们掌握通用方法就很必要,无论什么系统,都提供命令行工具,我们可以借助命令行工具自己写命令,可以满足各
在系统中对文件进行重命名是常规操作,单一文件重命名很简单,但是涉及到大量文件重命名的时候,一般需要些技术手段才能处理。常规方法是网上找对应工具,用现成的工具不失为一种快速解决的办法,但是工具都是有使用范围的,比如有的工具只能在windows中使用,在macos下就不适用,我们就只能另找工具。 例如:windows可以使用PowerRename工具批量重命名,但是在其他操作系统不一定适用。

因此,我们掌握通用方法就很必要,无论什么系统,都提供命令行工具,我们可以借助命令行工具自己写命令,可以满足各种各样的需求,作为一个互联网从业者来说,经常各种系统(linux/macos/windows)直接切换,深知命令行的优势,本文来和大家一起分享下经验。
命令行
适用范围:macos/linux终端 ,windows可以使用git bash工具使用命令,也可以使用Windows 的linux子系统终端。
- Windows10以后使用linux子系统可参考:https://learn.microsoft.com/zh-cn/windows/wsl/
- 其他windows使用git bash可下载git,并打开git-bash即可下载地址:https://git-scm.com/download/win
- Linux/MacOS 直接打开自带的终端即可

详细说明如下:
实际命令如下:需要进到具体目录执行,比如我的目录是桌面\temp,使用cd命名先进入到具体路径,如果是linux子系统:cd /mnt/c/Users/Administrator/Desktop/temp
如果是git-bash: cd /c/Users/Administrator/Desktop/temp/
区别是挂载路径不一样。
然后命令终端执行:
pre="ai";ext="png";a=0;ls *.png|while read line; do let a=a+1;f_date=$(stat $line | grep Modify| awk '{ print $2 }'); mv $line "$pre-$f_date-$a.$ext"; done
命令说明:pre是前缀,ext是结尾扩展名,比如png。可以自己变更,我这里想命名为 ai2-日期-数字.png的格式,如果自己变更其他的,可以更改。
后记
本文介绍的方法是可以跨平台、跨系统用的哦,主要能运行bash命令的地方都可以,比如mac/linux,安装了git-bash或使用windows WLS(linux子系统)的都通用,也仅是一条命令解决,而且不只是解决这个问题,可以根据需求随意定制,今天是批量重命名,明天可能是批量修改大小,后天也可能是批量替换文本。
其实对于我们熟悉命令行的朋友来说,以上批量操作也就是简单修改命令参数就能解决问题了,没有for循环解决不了的批量问题,命令行的精髓就在于此。
本文也只是抛砖引玉,更多的功能可以继续探索,可以举一反三,以后再也不怕这种问题了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)