Board logo

标题: [文件操作] 批处理怎样备份文件名包含指定字符和修改日期和时间在指定的范围的文件? [打印本页]

作者: frankysf    时间: 2011-11-14 20:42     标题: 批处理怎样备份文件名包含指定字符和修改日期和时间在指定的范围的文件?

请教各位老师,如何用批处理实现下面的操作:

假设在'D:\FTP'路径下面每天都会产生许多个扩展名为.rpt的文件,这些文件是系统自动每小时下载到这儿的。如何将满足以下条件的文件复制到'D:\Backup'路径下面?
1、文件名包含指定的字符,如:*stockinventory.rpt
2、文件的修改日期在指定的日期范围内,如:2011-10-01 ~ 2011-10-01
3、只复制上述指定日期范围中指定时间范围的文件,如:03:00 ~ 03:05
作者: weichenxiehou    时间: 2011-11-14 21:09

回复 1# frankysf
下面代码是适用于win7的dir命令格式的,若为其他系统,请参照修改。
  1. @echo off
  2. for /f "skip=4 tokens=1,2,3*" %%i in ('dir *stockinventory.rpt') do (
  3.   if %%i geq 2011/10/01 if %%i leq 2011/10/01 if %%j geq 03:00 if %%j leq 03:50 copy "%%l" d:\backup\
  4. )
复制代码

作者: CrLf    时间: 2011-11-14 23:50

回复 2# weichenxiehou


    此处建议用扩展参数 t 更加方便,因为它就是专门用来获取文件的修改时间的...
  1. for %%a in (*stockinventory.rpt) do if "%%~ta" lss ....
  2. ::举例
复制代码





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