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

[文件操作] 批处理怎样复制指定时间段的文件?

如题,  我的电脑会自动生成我的文档备份(后缀名为.DOC)由于文件较多,提取指定时间的文件就比较麻烦,假如,我需要从C:\system\下复制2014年3月7日 15:37:36到2014年4月8日 15:37:52文件到我E:\system目录下就会很麻烦。。。。所以特求代码大神普渡众生

  1. @echo off
  2. set "t1=20140307153736"
  3. set "t2=20140408153752"
  4. for %%a in ("c:\system\") do set"d=%%~da" & set "p=%%~pa"
  5. set w=wmic datafile where "drive='%d%' and path='%p:\=\\%' and extension='DOC'"
  6. for /f "tokens=1*" %%a in ('%w% get CreationDate^,name^|findstr /b [1-9]') do (
  7.         if "%%~na" gtr "%t1%" if "%%~na" lss "%t2%" (
  8.                 for /f "delims=" %%c in ("%%b") do (
  9.                         copy "%%~fc" "E:\abc\"
  10.                 )
  11.         )
  12. )
  13. pause
复制代码

TOP

使用robocopy复制指定修改日期范围(2014年3月7日~2014年4月8日)的文件:
  1. robocopy  C:\system  E:\system  /s  *.doc  /MAXAGE:20140307 /MINAGE:20140408
复制代码
robocopy 为NT6系统自带,它的日期限定范围不支持时、分、秒。
XP用户可以下载这个命令行工具:
http://xiazai.zol.com.cn/detail/10/91484.shtml
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

xuexixiexie!!

TOP

用 xcopy 的 /d 配合 /exclude 开关也可以实现

TOP

回复 2# apang

老师,我测试了没成功
@echo off
set "t1=20230327153736"
set "t2=20230402120000"
for %%a in ("%~p0") do set"d=%%~da" & set "p=%%~pa"
set w=wmic datafile where "drive='%d%' and path='%p:\=\\%' and extension='doc'"

for /f "tokens=1*" %%a in ('%w% get CreationDate^,name^|findstr /b [1-9]') do (
        if "%%~na" gtr "%t1%" if "%%~na" lss "%t2%" (
                for /f "delims=" %%c in ("%%b") do (
                        copy "%%~fc" "%~p0\新文件夹\"
                )
        )
)
pause

TOP

返回列表