bat脚本–备份n天前的文件

@echo off

::跳转到源目录

pushd d:/test

::设定n天前(此处暂定为10天前)

set dayago=10

::算出n天以前的日期并格式化为 yyyy/mm/dd

>$.vbs echo dst_date=date()-%dayago% >>$.vbs echo date_str=right(year(dst_date),4) ^& right("0" ^& month(dst_date),2) ^& right("0" ^& day(dst_date),2) >>$.vbs echo wscript.echo date_str for /f %%a in ('cscript /nologo $.vbs') do set dstdate=%%a set dstdate=%dstdate:~0,4%/%dstdate:~4,2%/%dstdate:~6,2%

::删除临时vbs脚本

del $.vbs

::跳转到:tx  执行文件挑选动作

goto :tx

::定义 :ys压缩函数,将符合条件的文件挑选后压缩备份

:ys pushd c:/Program Files/HaoZip set "ymd=%date:~,4%%date:~5,2%%date:~8,2%" HaoZipC u -tzip d:/%ymd% /t.zip e:/111/*

::跳转至 :del

goto del

::定义 :del删除函数,备份后删除符合条件的源文件

:del pushd d:/test forfiles /d -%dstdate% /s /c "cmd /c del @path " rd /s /q e:/111

::退出程序,关闭窗口

exit

::定义:tx函数,挑选出符合条件的文件

:tx for /f %%i in ('forfiles /d -%dstdate% /s  /c "cmd /c echo @path"' ) do ( call :fz %%i %%i)

::跳转至 :ys 函数

goto :ys

::定义 :fz函数,执行复制操作

:fz set url=%~p1 xcopy %~2 e:/111%url%

本文出自 “松叶乐园” 博客,请务必保留此出处http://songchenguang.blog.51cto.com/5366243/1660936


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注