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

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

以下代码是网上找的,拷贝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
复制代码

forfiles和xcopy计算的是文件修改日期,不是创建日期
另外,forfiles并非系统自带,需要下载才行

TOP

回复 2# apang


    楼主好像是用的Win7

TOP

回复 2# apang


   我下载了 forFiles.exe,放在C:\WINDOWS\system32目录下,但执行上面代码还是全部拷贝了!不能排除7天前的文件!

TOP

  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

评分人数

    • ww0000: 谢谢帮助!技术 + 1

TOP

回复 5# apang


    谢谢,能用!
   要是能考虑多级目录和文件夹就更好了!

TOP

返回列表