编写Batch脚本:将文件夹名与文件创建日期追加至文件名
完善后的Batch脚本实现
@echo off setlocal EnableDelayedExpansion REM 获取当前目录名称 set "dirName=%CD%" for %%a in ("%dirName%") do set "dirName=%%~nxa" REM 遍历当前目录下的所有文件(排除脚本自身) for %%I in (*) do ( REM 跳过脚本文件,避免误操作 if /i not "%%~nxI"=="%~nx0" ( REM 转换文件路径为wmic兼容格式(\替换为\\) set "filePath=%%~fI" set "filePath=!filePath:\=\\!" REM 通过wmic获取文件创建日期(格式:YYYYMMDDHHMMSS...) for /f "skip=1 tokens=1 delims= " %%d in ('wmic datafile where name^="!filePath!" get creationdate') do ( set "createDate=%%d" ) REM 提取YYYYMMDD格式的日期字符串 set "dateStr=!createDate:~0,8!" REM 拆分主文件名与扩展名 set "fileName=%%~nI" set "fileExt=%%~xI" REM 执行重命名 ren "%%I" "!fileName!_!dirName!_!dateStr!!fileExt!" ) ) echo 重命名完成! pause endlocal
关键改进说明
- 批量处理:自动遍历当前目录下所有文件,同时跳过脚本自身,避免误操作
- 可靠日期获取:使用
wmic命令获取创建日期,不受系统区域日期格式影响,确保输出YYYYMMDD格式 - 通用适配:自动拆分任意文件的主文件名与扩展名,适配所有格式的文件
- 严格命名规则:完全遵循
原文件名_目录名_YYYYMMDD.扩展名的格式要求
使用方法
- 将脚本保存为
rename_files.bat,放到需要处理文件的目标目录 - 双击运行脚本,等待执行完成即可
内容的提问来源于stack exchange,提问作者david
相关产品推荐
相关产品推荐

