Board logo

标题: 请问如何把一个文件夹中一周内更新过的文件copy到另外一个 [打印本页]

作者: haiyawu     时间: 2006-7-25 12:07    标题: 请问如何把一个文件夹中一周内更新过的文件copy到另外一个
希望这个动作每天自动运行,查了xcopy的相关资料,参数好像只能指定某一日期,但我需要的是当前日期减7天,
# xcopy /D: 07-25-2006 source target
请问大家如何处理,谢谢!

作者: fastslz     时间: 2006-7-25 15:17
当前日期减7天有点难度哦,日期是有30天和31天进位的很难运算。
关注一下......

作者: fastslz     时间: 2006-7-25 18:27
下列高手优化下吧,我CMD命令很差劲的,仅作为参考


@echo off
set 年=%date:~0,-10%
set 月=%date:~5,-7%
set 日=%date:~8,-4%
set /A 七天前=%日%-7
if "%七天前%"=="-6" set /a 月=%月%-1
if "%七天前%"=="-6" set 七天前=25
if "%七天前%"=="-5" set /a 月=%月%-1
if "%七天前%"=="-5" set 七天前=26
if "%七天前%"=="-4" set /a 月=%月%-1
if "%七天前%"=="-4" set 七天前=27
if "%七天前%"=="-3" set /a 月=%月%-1
if "%七天前%"=="-3" set 七天前=28
if "%七天前%"=="-2" set /a 月=%月%-1
if "%七天前%"=="-2" set 七天前=29
if "%七天前%"=="-1" set /a 月=%月%-1
if "%七天前%"=="-1" set 七天前=30
xcopy /D:%月%-%七天前%-%年% source target


Last edited by fastslz on 2006-7-25 at 23:28 ]

作者: fastslz     时间: 2006-7-25 23:44

@echo off
set 年=%date:~0,-10%
set 月=%date:~5,-7%
set 日=%date:~8,-4%
set /A 七天前=%日%-7
for %%a in (-1 -2 -3 -4 -5 -6) do if "%七天前%"=="%%a" set /a 月=%月%-1
for %%a in (-1 -2 -3 -4 -5 -6) do if "%七天前%"=="%%a" set /a 七天前=%七天前%+30
xcopy /D:%月%-%七天前%-%年% source target

简化了,以一个月30为准的