上一篇
如何在命令行中重命名文件?
- 电脑教程
- 2025-06-12
- 4499
使用命令行修改文件名主要通过
mv
命令实现,基本语法为
mv 原文件名 新文件名
,mv old.txt new.txt`,该命令也可移动文件位置或覆盖同名文件,操作时需谨慎。
在命令行中修改文件名称是高效管理文件的核心技能,适用于批量操作和自动化任务,以下详细指南涵盖主流操作系统的方法及实用技巧,操作前请务必备份重要数据。
Windows 系统(命令提示符或 PowerShell)
基础重命名命令 ren
ren "旧文件名.txt" "新文件名.txt"
参数说明:
- 文件名需带扩展名(如
.txt
) - 含空格或特殊字符时用双引号包裹
示例:
将report2025.docx
改为summary.docx
:ren report2025.docx summary.docx
批量重命名
场景:将文件夹内所有 .jpg
文件前缀改为 photo_
for %i in (*.jpg) do ren "%i" "photo_%i"
效果:cat.jpg
→ photo_cat.jpg
dog.jpg
→ photo_dog.jpg
macOS 和 Linux 系统(终端命令)
基础重命名命令 mv
mv "旧文件名.txt" "新文件名.txt"
关键参数:
-i
:覆盖前确认(推荐)-v
:显示操作详情
示例(安全操作):mv -iv old_file.txt new_file.txt
高级批量重命名工具
(1) 使用 rename
命令(需安装)
安装命令:
# Debian/Ubuntu sudo apt install rename # macOS brew install rename
批量修改扩展名(.txt
→ .md
):
rename 's/.txt$/.md/' *.txt
(2) Shell 循环批量处理
添加日期后缀到所有日志文件:
for file in *.log; do mv "$file" "${file%.log}_$(date +%Y%m%d).log"; done
效果:error.log
→ error_20251005.log
跨平台通用技巧
通配符使用
- 匹配任意字符(如
*.png
选中所有PNG) - 匹配单个字符(如
doc?.txt
匹配doc1.txt
)
防误删措施
- 先执行模拟操作(Linux/macOS):
rename -n 's/old/new/' *.txt # -n 参数预览结果不实际执行
- 启用备份功能:
rename -v --backup 's/old/new/' *.txt # 自动备份原文件
处理特殊字符
- 文件名含空格时用引号包裹:
mv "old name.txt" "new name.txt"
- 转义特殊符号(如
*
、?
)
注意事项
- 权限问题:
- Linux/macOS 需当前目录写权限(用
ls -l
检查) - Windows 需以管理员身份运行命令行
- Linux/macOS 需当前目录写权限(用
- 覆盖风险:
目标文件名已存在时,原文件将被静默覆盖(建议用-i
参数确认) - 批量操作前测试:
在副本文件夹中验证命令效果
命令行重命名比图形界面更高效,尤其适合:
- 批量添加前缀/后缀
- 正则表达式替换复杂文件名
- 自动化脚本集成
引用说明:
本文方法参考自 Microsoft Docs 官方文档、GNU Coreutils 手册及 Apple 开发者指南,遵循 POSIX 标准命令规范,实践前建议查阅 man mv
(Linux/macOS)或 ren /?
(Windows)获取系统帮助。