当前位置: 首页 > news >正文

Windows 批处理脚本 5 种高级重命名模式:正则替换、日期前缀、序号填充

Windows 批处理脚本 5 种高级重命名模式:正则替换、日期前缀、序号填充

在文件管理工作中,批量重命名是一项常见但繁琐的任务。对于需要处理成百上千个文件的开发者或运维人员来说,手动操作不仅效率低下,还容易出错。本文将介绍五种基于 Windows 批处理脚本的高级重命名技术,帮助您实现自动化、精准化的文件管理。

1. 正则表达式替换模式

正则表达式是处理复杂文本模式的利器,在批处理文件中同样可以发挥强大作用。以下脚本实现了基于正则的文件名替换:

@echo off setlocal enabledelayedexpansion :: 设置替换规则(旧模式→新模式) set "pattern=IMG_\d{4}" set "replacement=Photo_2023" for /f "delims=" %%f in ('dir /b /a-d ^| findstr /r "%pattern%"') do ( set "filename=%%~nf" set "ext=%%~xf" set "new_name=!filename:%pattern%=%replacement%!" ren "%%f" "!new_name!!ext!" )

提示:此脚本会查找所有匹配IMG_数字格式的文件,并将其替换为Photo_2023前缀。可根据实际需求修改patternreplacement变量。

关键参数说明:

参数说明示例值
pattern需要匹配的正则模式IMG_\d{4}
replacement替换后的文本Photo_2023
/r启用正则匹配-

2. 日期时间前缀模式

为文件添加系统日期时间戳是归档管理的常见需求。以下脚本实现自动添加精确到秒的时间戳:

@echo off setlocal enabledelayedexpansion for /f "tokens=1-6 delims=/ " %%a in ('date /t') do ( set year=%%c set month=%%a set day=%%b ) for /f "tokens=1-3 delims=:." %%g in ('time /t') do ( set hour=%%g set minute=%%h set second=%%i ) set "timestamp=%year%%month%%day%_%hour%%minute%%second%" for %%f in (*.*) do ( if not "%%~xf"==".bat" ( ren "%%f" "%timestamp%_%%~nxf" ) )

该脚本会生成如20230615_143022_filename.txt格式的新文件名。通过修改时间格式字符串,可以灵活调整时间戳的显示方式。

3. 自动序号填充模式

为文件添加整齐的序号是整理系列文件的理想方案。以下脚本实现三位数自动编号:

@echo off setlocal enabledelayedexpansion set count=1000 for /f "delims=" %%f in ('dir /b /a-d /on') do ( set /a count+=1 set "serial=!count:~1!" ren "%%f" "Document_!serial!%%~xf" )

编号效果对比:

原文件名新文件名
data1.txtDocument_001.txt
report.pdfDocument_002.pdf
image.pngDocument_003.png

注意:!count:~1!表示从变量值的第二个字符开始截取,实现去掉千位数的效果。

4. 大小写转换模式

统一文件名大小写格式可提升文件系统的整洁度。以下脚本提供三种转换方案:

@echo off setlocal enabledelayedexpansion :: 选择转换模式:1-全大写 2-全小写 3-首字母大写 set mode=3 for %%f in (*.*) do ( set "name=%%~nf" set "ext=%%~xf" if !mode!==1 ( set "new=!name!!ext!" for %%i in ("A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z") do ( set "new=!new:%%i=%%i!" } ) else if !mode!==2 ( set "new=!name!!ext!" for %%i in ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z") do ( set "new=!new:%%i=%%i!" } ) else ( set "first=!name:~0,1!" set "rest=!name:~1!" for %%i in ("A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z") do ( set "first=!first:%%i=%%i!" } set "new=!first!!rest!!ext!" } ren "%%f" "!new!" )

5. 关键信息提取模式

从复杂文件名中提取特定部分有时非常必要。以下脚本演示如何提取文件名中的日期部分:

@echo off setlocal enabledelayedexpansion for %%f in (*.*) do ( set "name=%%~nf" set "ext=%%~xf" :: 提取YYYY-MM-DD格式日期 for /f "tokens=1-3 delims=-" %%a in ("!name!") do ( set "year=%%a" set "month=%%b" set "day=%%c" ) if defined year ( set "new_name=!year!!month!!day!!ext!" ren "%%f" "!new_name!" ) )

实际项目中,我曾用类似脚本处理数千个日志文件,成功将如server_log_2023-06-15_error.txt的文件统一重命名为20230615.txt格式,极大简化了后续分析工作。

http://www.jsqmd.com/news/1150391/

相关文章:

  • AMD显卡驱动冲突:组策略与注册表2种永久禁用Windows自动更新方案对比
  • MediaCreationTool 22H2 制作启动盘:UEFI/Legacy 双模式引导成功率提升 90% 实测
  • DQN 算法 PyTorch 2.0 实战:CartPole-v1 环境 1000 回合训练与经验回放调优
  • Krea 2图像生成模型技术解析:从架构设计到API实战应用
  • 3步掌握Steam成就管理:开源工具完整使用指南
  • curl 8.x 进阶应用:5 个实战脚本自动化 Windows 运维任务
  • CentOS 7.9 KVM 桥接网络配置:3步实现虚拟机与宿主机同网段互通
  • Ubuntu 18.04/22.04 终端报错排查:LD_PRELOAD 污染与 4 种清理方案实测
  • macOS pmset 电源管理:3个关键参数冲突导致合盖不休眠的排查与修复
  • 计算机视觉入门:OpenCV 图像平滑4大算法原理与5x5核实战解析
  • DLinear 模型滚动预测实战:5步配置实现ETTh1数据集96步预测(附完整代码)
  • Windows 11 OpenSSH 客户端安装:3种方法对比与 2 个常见报错解决方案
  • MySQL 存储过程生成 100 万测试数据:5 种索引失效场景的复现与排查
  • PowerToys v0.85+ 扩展预览:为 PDF/SVG 等 5 类文件添加缩略图
  • Linux LD_PRELOAD 环境变量详解:从 3 种错误场景到 5 步排查法
  • 数字隔离器ISOM8710与STM32F031C6在高压隔离中的应用
  • UniversalUnityDemosaics终极指南:如何快速去除Unity游戏马赛克
  • 永久免费视频转二维码完整教程:从原理到实践
  • SWA 与 EMA 实战对比:PyTorch 3 种集成方案在 Kaggle 图像赛的 0.5% 提升
  • NASM 与 Bochs 2.6.8 联调:从 MBR 汇编到虚拟机启动的 5 个关键步骤
  • SUSE Linux Enterprise Server 15 SP5 安装:3种分区方案对比与实战配置(含Btrfs)
  • Linux 动态链接器 ld.so 原理:从 LD_PRELOAD 报错看 4 种库预加载机制
  • 联想CM7120W MacOS14 彩色打印驱动终极方案:三星C48x系列驱动实测
  • 手工底料火锅实测测评|理性避坑科学选型指南
  • AD5593R与PIC18F86J55硬件协同设计与优化实践
  • Windows 11 24H2 外接显卡坞兼容性指南:2个关键驱动设置与1个避坑要点
  • 控制系统稳定性分析:从时域超调量 30% 到频域凸峰 4dB 的工程经验解读
  • 如何快速掌握Vue大数据表格解决方案:umy-ui完整使用指南
  • 神州网信政府版 Win10 组策略实战:5 步解除屏保锁定与密码强制策略
  • PyTorch 2.0 L1/L2 正则化实战:3种方法对比与权重衰减陷阱解析