标题: [文件操作] 批处理只拷贝7天内的文件试了不行 [打印本页]
作者: ww0000 时间: 2013-9-13 12:38 标题: 批处理只拷贝7天内的文件试了不行
以下代码是网上找的,拷贝7天内创建的文件,可我试了,7天以前的文件也会拷贝,为什么?- @echo off
- rem 将指定目录的所有文件及文件夹copy到指定目录下,只copy 7天内创建的或是7天内修改过的
- rem author:perfectaction
-
- set "src=d:\11\" rem 源目录路径
- set "des=d:\22\" rem 目标路径
- set "suffix=*" rem 需要xcopy的文件后缀
- set "dd=7" rem 只copy7天之内的文件
-
- del /f /q /a "%src%notcopylist_%suffix%.log" 2>nul
- forfiles /p %src% /s /m *.* /d -%dd% /c "cmd /c dir @path /b /s >>%src%notcopylist_%suffix%.log"
- if not exist "%src%notcopylist_%suffix%.log\" (
- if exist "%src%notcopylist_%suffix%.log" (
- xcopy "%src%*.%suffix%" "%des%" /s /d /y /EXCLUDE:%src%notcopylist_%suffix%.log
- ) else (
- xcopy "%src%*.%suffix%" "%des%" /s /d /y
- )
- ) else (
- echo 错误:无法创建%src%notcopylist_%suffix%.log文件,当前目录存在同名文件夹。
- )
- rem pause
复制代码
作者: apang 时间: 2013-9-13 15:46
forfiles和xcopy计算的是文件修改日期,不是创建日期
另外,forfiles并非系统自带,需要下载才行
作者: DAIC 时间: 2013-9-13 16:21
回复 2# apang
楼主好像是用的Win7
作者: ww0000 时间: 2013-9-13 16:31
回复 2# apang
我下载了 forFiles.exe,放在C:\WINDOWS\system32目录下,但执行上面代码还是全部拷贝了!不能排除7天前的文件!
作者: apang 时间: 2013-9-13 16:39
- @echo off
- %1mshta vbscript:createobject("wscript.shell").run("""%~0"" : "^&month(date-7)^&"-"^&day(date-7)^&"-"^&year(date-7))(close)&exit /b
-
- set "src=d:\11"
- set "des=d:\22"
- set "suffix=*"
- xcopy /shcy /d:%2 "%src%\*.%suffix%" "%des%\"
- pause
复制代码
试试
作者: ww0000 时间: 2013-9-13 16:44
回复 5# apang
谢谢,能用!
要是能考虑多级目录和文件夹就更好了!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |