找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26434|回复: 5

[文件操作] 批处理只拷贝7天内的文件试了不行

[复制链接]
发表于 2013-9-13 12:38:34 | 显示全部楼层 |阅读模式
以下代码是网上找的,拷贝7天内创建的文件,可我试了,7天以前的文件也会拷贝,为什么?
  1. @echo off
  2. rem 将指定目录的所有文件及文件夹copy到指定目录下,只copy 7天内创建的或是7天内修改过的
  3. rem author:perfectaction

  4. set "src=d:\11" rem 源目录路径
  5. set "des=d:\22" rem 目标路径
  6. set "suffix=*"   rem 需要xcopy的文件后缀
  7. set "dd=7"         rem 只copy7天之内的文件

  8. del /f /q /a "%src%notcopylist_%suffix%.log" 2>nul
  9. forfiles /p %src% /s /m *.* /d -%dd% /c "cmd /c dir @path /b /s >>%src%notcopylist_%suffix%.log"
  10. if not exist "%src%notcopylist_%suffix%.log" (
  11.   if exist "%src%notcopylist_%suffix%.log" (
  12.     xcopy "%src%*.%suffix%" "%des%" /s /d /y /EXCLUDE:%src%notcopylist_%suffix%.log
  13.   ) else (
  14.     xcopy "%src%*.%suffix%" "%des%" /s /d /y
  15.   )
  16. ) else (
  17.   echo 错误:无法创建%src%notcopylist_%suffix%.log文件,当前目录存在同名文件夹。
  18. )
  19. rem pause
复制代码
发表于 2013-9-13 15:46:30 | 显示全部楼层
forfiles和xcopy计算的是文件修改日期,不是创建日期
另外,forfiles并非系统自带,需要下载才行
发表于 2013-9-13 16:21:12 | 显示全部楼层
回复 2# apang


    楼主好像是用的Win7
 楼主| 发表于 2013-9-13 16:31:17 | 显示全部楼层
回复 2# apang


   我下载了 forFiles.exe,放在C:\WINDOWS\system32目录下,但执行上面代码还是全部拷贝了!不能排除7天前的文件!
发表于 2013-9-13 16:39:48 | 显示全部楼层
  1. @echo off
  2. %1mshta vbscript:createobject("wscript.shell").run("""%~0"" : "^&month(date-7)^&"-"^&day(date-7)^&"-"^&year(date-7))(close)&exit /b

  3. set "src=d:\11"
  4. set "des=d:\22"
  5. set "suffix=*"
  6. xcopy /shcy /d:%2 "%src%\*.%suffix%" "%des%"
  7. pause
复制代码
试试

评分

参与人数 1技术 +1 收起 理由
ww0000 + 1 谢谢帮助!

查看全部评分

 楼主| 发表于 2013-9-13 16:44:20 | 显示全部楼层
回复 5# apang


    谢谢,能用!
   要是能考虑多级目录和文件夹就更好了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 16:07 , Processed in 0.019106 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表