当前位置:首页 > 电脑教程 > 正文

如何在命令行中重命名文件?

使用命令行修改文件名主要通过 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_

如何在命令行中重命名文件?  第1张

for %i in (*.jpg) do ren "%i" "photo_%i"

效果
cat.jpgphoto_cat.jpg
dog.jpgphoto_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.logerror_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"
  • 转义特殊符号(如 *?

注意事项

  1. 权限问题
    • Linux/macOS 需当前目录写权限(用 ls -l 检查)
    • Windows 需以管理员身份运行命令行
  2. 覆盖风险
    目标文件名已存在时,原文件将被静默覆盖(建议用 -i 参数确认)
  3. 批量操作前测试
    在副本文件夹中验证命令效果

命令行重命名比图形界面更高效,尤其适合:

  • 批量添加前缀/后缀
  • 正则表达式替换复杂文件名
  • 自动化脚本集成

引用说明
本文方法参考自 Microsoft Docs 官方文档、GNU Coreutils 手册及 Apple 开发者指南,遵循 POSIX 标准命令规范,实践前建议查阅 man mv(Linux/macOS)或 ren /?(Windows)获取系统帮助。

0