找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24708|回复: 5

[文件操作] 批处理如何取出文件里,所有文件名中的日期和时间进行重命名

[复制链接]
发表于 2011-11-8 16:56:28 | 显示全部楼层 |阅读模式
你好,我需要你的帮忙,
请问如何删除如下
一个文件夹内有许多文件,格式的jpg和txt的。如下所示

ATH120-Main-2011-11-06T17-42-48.443Z.jpg
ATH120-Main-2011-11-06T17-42-48.443Z.txt
BL121-Main-2011-11-06T17-41-11.540Z.jpg
BL21-Main-2011-11-06T17-41-11.540Z.txt

我想删除第二个“-”前面的所有字符,文件名中的字母T全部替换为"-",以及第一个"."后面的文件名,结果变成:
2011-11-06-17-42-48.jpg
2011-11-06-17-42-48.txt
2011-11-06-17-41-11.jpg
2011-11-06-17-41-11.txt

简而言之,就是取出文件名中得日期和时间,按照YYYY-MM-DD-HH-MM-SS进行重命名

请求高手写一批处理程序完成,谢谢!
 楼主| 发表于 2011-11-8 17:08:20 | 显示全部楼层
还有就是,此批处理文件,在此文件夹内,而且它的名称不得修改。如:重命名.bat
发表于 2011-11-8 18:01:11 | 显示全部楼层
自己搜索解决
发表于 2011-11-8 22:34:31 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1-9 delims=-." %%a in ('dir /b ^| findstr "\.txt$ \.jpg$"') do (
  4.     set newname=%%c-%%d-%%e-%%f-%%g
  5.     set newname=!newname:T=-!
  6.     ren %%a-%%b-%%c-%%d-%%e-%%f-%%g.%%h.%%i !newname!.%%i
  7. )
复制代码

评分

参与人数 1技术 +1 收起 理由
Hello123World + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-11-9 12:01:02 | 显示全部楼层
我是脚本新手,非常谢谢AWK,功能非常实用。
发表于 2011-11-9 13:37:37 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3.     set "str=%%i"
  4.     for /l %%a in (1 1 2) do (
  5.         set "str=!str:*-=!"
  6.     )
  7.     set "str=!str:t=-!"
  8.     echo !str:~,-9!%%~xi
  9. )
  10. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:16 , Processed in 0.025033 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表