如何在JavaScript中给图片路径文件名添加_small后缀?
当然有好几种简便的方法能批量搞定这个需求,我给你列几个最实用的方案,适配不同的操作系统:
1. Linux/macOS 终端一行命令搞定
如果你用的是类Unix系统(比如Ubuntu、macOS),用终端命令最快:
用rename命令(多数系统默认预装)
rename 's/(\.[a-zA-Z0-9]+)$/_small$1/' /upload/images/**/*.{jpg,png}
简单解释下:这个正则会匹配文件名末尾的扩展名(比如.jpg、.png),然后在扩展名前面插入_small。**是用来递归遍历所有子目录里的目标文件,要是只处理当前目录,去掉**/就行。
没有rename?用find+mv组合
如果你的系统没装rename,用这个组合命令也能实现:
find /upload/images -type f \( -name "*.jpg" -o -name "*.png" \) -exec sh -c 'mv "$0" "${0%.*}_small.${0##*.}"' {} \;
这里${0%.*}会截取文件名去掉扩展名的部分,${0##*.}专门提取扩展名,拼接起来就是你要的新文件名。
2. Windows 用PowerShell命令
Windows用户不用慌,打开PowerShell(按下Win+X选Windows PowerShell),执行下面的命令:
Get-ChildItem -Path "C:\upload\images" -Recurse -Include *.jpg,*.png | Rename-Item -NewName { $_.BaseName + "_small" + $_.Extension }
这个命令会递归遍历指定路径下的所有jpg和png文件,$_.BaseName是不带扩展名的文件名,$_.Extension是文件的扩展名,两者中间加上_small就是新名字啦。
3. Python脚本(跨平台通用)
要是你需要跨平台使用,或者想要更灵活的控制(比如后续加过滤条件),写个超简单的Python脚本就好:
import os # 替换成你的实际路径,Windows下记得把斜杠改成双斜杠,比如 "C:\\upload\\images" root_directory = "/upload/images" # 递归遍历所有子目录 for dir_path, _, file_names in os.walk(root_directory): for file_name in file_names: # 只处理jpg和png文件,不区分大小写 if file_name.lower().endswith(('.jpg', '.png')): # 拆分文件名和扩展名 name_part, ext_part = os.path.splitext(file_name) # 拼接新文件名 new_file_name = f"{name_part}_small{ext_part}" # 拼接新旧文件的完整路径 old_full_path = os.path.join(dir_path, file_name) new_full_path = os.path.join(dir_path, new_file_name) # 重命名文件 os.rename(old_full_path, new_full_path)
把路径改成你实际的图片存储路径,运行脚本就能批量完成修改了。
这些方法都能高效帮你完成需求,根据你的操作系统选对应的就行~
内容的提问来源于stack exchange,提问作者Luvias
相关产品推荐
相关产品推荐

