Board logo

标题: [文件操作] 批处理如何根据“创建时间”在源文件名前添加序号,最后名称输出到txt? [打印本页]

作者: some2356    时间: 2015-5-14 19:22     标题: 批处理如何根据“创建时间”在源文件名前添加序号,最后名称输出到txt?

源文件

根据“创建时间”排序的文件

重新编号的文件

注:创建时间是精确到秒(或更精确)的,,不是像图片中的只显示到分
作者: terse    时间: 2015-5-14 20:26

这里秒和分没区别 你也可以试试 WMIC 提取时间
作者: apang    时间: 2015-5-14 22:38

  1. @echo off & setlocal enabledelayedexpansion
  2. set "p=%~p0"
  3. set n=1000
  4. set wmic=wmic DataFile where "Drive='%~d0' and Path='%p:\=\\%' and Extension='mp3'"
  5. for /f "tokens=1*" %%a in ('%wmic% get CreationDate^,Name^|find "\"^|sort') do (
  6.         set /a n+=1
  7.         for /f "delims=" %%c in ("%%b") do ren "%%~fc" "!n:~1!-%%~nxc"
  8. )
  9. pause
复制代码

作者: apang    时间: 2015-5-15 21:32

比较了下,wmic 和 dir 按创建时间排序没有区别
  1. @echo off & setlocal enabledelayedexpansion
  2. set n=1000
  3. for /f "delims=" %%a in ('dir /b /od /tc *.mp3') do (
  4.         set /a n+=1
  5.         ren "%%a" "!n:~1!-%%~nxa"
  6. )
  7. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2