[批处理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:perfectactionset "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