[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 aloha20200628 于 2025-1-15 18:58 编辑

回复 1# jave000

代码预设 ‘目标目录’ 为 c:\test(可自定义),其中 ‘修改时间’ 自2024年开始,用本脚本处理之前的文件名后缀时间格式中的分隔符可能有 ‘-’ 或 ‘_’ 或 ‘.’,但用本脚本处理之后的文件名后缀时间格式统一为如 ‘abc.2024-12-26.txt’
  1. @echo off &cd /d "c:\test" &setlocal enabledelayedexpansion
  2. for /f "delims=" %%F in (
  3.    'dir /b/a-d^|findstr /iv "202[4-9][\-_\.][0-9][0-9][\-_\.][0-9][0-9]\." '
  4. ) do if /i "%%~nxF" neq "%~nx0" (set "t=%%~tF" &set "t=!t:/=-!" &ren "%%F" "%%~nF.!t:~,10!%%~xF") 2>nul
  5. pause&exit/b
复制代码
1

评分人数

TOP

本帖最后由 aloha20200628 于 2025-1-7 12:14 编辑

回复 3# jave000

二楼代码已订正,脚本运行时会排除当前目录下已经包含 '202y-mm-dd.' 或 '202y/mm/dd.' 字段的全部文件名,也会排除当前目录下的本脚本文件,即其不会被更名,但新的日期更名格式会采用 '202y-mm-dd' 日期格式 ...

TOP

本帖最后由 aloha20200628 于 2025-1-15 18:58 编辑

回复 7# jave000

最初二楼代码中假定一个目标目录其实是为隔离脚本文件,版本被订正后已无此限,脚本所在目录就是目标目录
用本脚本处理之前的文件名后缀时间格式中的分隔符可能有 ‘-’ 或 ‘_’ 或 ‘.’,但用本脚本处理之后的文件名后缀时间格式统一为如 ‘abc.2024-12-26.txt’
另对文件修改时间值可能包含的 ‘/’ 字符现已统一替换为文件名可接受的 ‘-’ 字符
代码已改为还可处理当前目录及其子目录中的目标文件,再试试以下版本吧 ...
  1. @echo off &setlocal enabledelayedexpansion
  2. for /f "delims=" %%F in (
  3.     'dir /b/s/a-d^|findstr /iv "202[4-9][\-_\.][0-9][0-9][\-_\.][0-9][0-9]\." '
  4. ) do if /i "%%~nxF" neq "%~nx0" (set "t=%%~tF" &set "t=!t:/=-!" &ren "%%F" "%%~nF.!t:~,10!%%~xF") 2>nul
  5. pause&exit/b
复制代码
1

评分人数

TOP

返回列表