Board logo

标题: [文件操作] 批处理如何按文件的创建时间将文件移动出来? [打印本页]

作者: hzlocean    时间: 2011-1-6 10:49     标题: 批处理如何按文件的创建时间将文件移动出来?

大家好,我有个文件夹里有大量的PDF文件,里面是最近四年的文件,2007,2008,2009,2010 的,我想按文件的创建时间将这些文件分别移动出来,分别存在2007 ,2008 ,2009 ,2010这四个文件夹里面,应该如何用批处理来实现呢,谢谢大家了。

[ 本帖最后由 hzlocean 于 2011-1-6 10:51 编辑 ]
作者: hanyeguxing    时间: 2011-1-6 11:22

  1. @echo off&setlocal enableDelayedExpansion
  2. set "r=源完整路径"
  3. set "s=目标完整路径"
  4. for /f "delims=" %%a in ('dir /tc "%r%\*.pdf"') do (
  5.     set "a=%%a"
  6.     if "!a:~0,1!" neq " " for /f "tokens=1,5* delims=- " %%b in ("!a!") do (
  7.         if not exist "%s%\%%b\" md "%s%\%%b\"
  8.         move "%r%\%%d" "%s%\%%b\"
  9. ))
复制代码

[ 本帖最后由 hanyeguxing 于 2011-1-6 12:05 编辑 ]
作者: hzlocean    时间: 2011-1-6 11:35

非常感谢,测试中…… :)
作者: ffin    时间: 2013-9-23 14:24

版主的这个批处理可以按年份操作创建的文件
如果想按分钟操作创建的文件,怎么编写呢?
比如下面这个问题:

单位操作系统会产生一些文件,
需要人工将15分钟前创建的报文剪切到特定的文件夹
如何用批处理实现操作,比如每3分钟将15分钟前创建的报文剪切过去。




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