标题: [文件操作] 批处理如何取出文件里,所有文件名中的日期和时间进行重命名 [打印本页]
作者: limminsara 时间: 2011-11-8 16:56 标题: 批处理如何取出文件里,所有文件名中的日期和时间进行重命名
你好,我需要你的帮忙,
请问如何删除如下
一个文件夹内有许多文件,格式的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进行重命名
请求高手写一批处理程序完成,谢谢!
作者: limminsara 时间: 2011-11-8 17:08
还有就是,此批处理文件,在此文件夹内,而且它的名称不得修改。如:重命名.bat
作者: sxw 时间: 2011-11-8 18:01
自己搜索解决
作者: awk 时间: 2011-11-8 22:34
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1-9 delims=-." %%a in ('dir /b ^| findstr "\.txt$ \.jpg$"') do (
- set newname=%%c-%%d-%%e-%%f-%%g
- set newname=!newname:T=-!
- ren %%a-%%b-%%c-%%d-%%e-%%f-%%g.%%h.%%i !newname!.%%i
- )
复制代码
作者: limminsara 时间: 2011-11-9 12:01
我是脚本新手,非常谢谢AWK,功能非常实用。
作者: lvsehuaxue 时间: 2011-11-9 13:37
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set "str=%%i"
- for /l %%a in (1 1 2) do (
- set "str=!str:*-=!"
- )
- set "str=!str:t=-!"
- echo !str:~,-9!%%~xi
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |