日期:2014-05-17  浏览次数:20826 次

[批处理help] 如何将指定目录下的7天内生成的所有文件夹和文件copy到指定目录
如何将指定目录下的7天内生成的所有文件夹和文件copy到指定目录.

1.只copy7天内生成的文件或文件夹.
2.如果目标已存在,则不覆盖,也不要提示.

谢谢

------解决方案--------------------
自己写一个COPY的程序筛选。
------解决方案--------------------

XCOPY 命令,
详细看HELP。
如: xcopy c:\text\*.* d:\test /S/D:M-D-Y /C
------解决方案--------------------
试试这样

forfiles /p d:\test /s /m *.txt /d +%nowdate% /c "cmd /c Xcopy @path e:\test\"
 
------解决方案--------------------
rem @echo off 
@echo on
echo wscript.echo dateadd("d",-7,date) >%tmp%\tmp.vbs 
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do ( 
set "y=%%i" 
set "m=%%j" 
set "d=%%k" 

set "nowdate=%m%-%d%-%y%" 
echo %nowdate% 

xcopy d:\test\*.txt C:\TEST /S/D:%nowdate% /C/i

pause

------解决方案--------------------
用批处理文件来copy。
------解决方案--------------------
BatchFile code
@echo off
rem 将指定目录的所有文件及文件夹copy到指定目录下,只copy 7天内创建的或是7天内修改过的
rem author:perfectaction

set "src=c:\test\" rem 源目录路径
set "des=d:\test\" rem 目标路径
set "suffix=txt"   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