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

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

你好,我需要你的帮忙,
请问如何删除如下
一个文件夹内有许多文件,格式的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进行重命名

请求高手写一批处理程序完成,谢谢!

还有就是,此批处理文件,在此文件夹内,而且它的名称不得修改。如:重命名.bat

TOP

自己搜索解决

TOP

  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

评分人数

TOP

我是脚本新手,非常谢谢AWK,功能非常实用。

TOP

  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
复制代码

TOP

返回列表