51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6095|回复: 1
打印 上一主题 下一主题

[原创] 利用bat,vb实现根据日期自动备份文件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-3-7 12:57:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假如D:\backup\a为备份源文件夹,备份路径为D:\backup\,文件夹名为当天的日期,如D:\backup\2006-04-17\a,每周5备份一次,3周一个循环,即备份第4周时,第1周的备份删除,以减少空间。同时在D:\backup\log\里写日志文件,记录复制的文件,文件名为log-日期.txt,如log-2006-04-17.txt 。

1.建立backup.bat,内容如下(不包括说明):

IF EXIST log-%date:~0,10%.txt del /F /S /Q   log-%date:~0,10%.txt
#如果日志文件存在则删除。%date:~0,10%取日期的前10位,我的系统日期格式"date/t"是“2006-04-17 星期一”,所以取得“2006-04-17”。根据情况需调整。

IF EXIST %date:~0,10%  RD /S /Q %date:~0,10%     #如果文件夹存在,删除

MD %date:~0,10%     #建立文件夹

xcopy a %date:~0,10%\a\ /C /E /H  /K /F  /R /y >> log/log-%date:~0,10%.txt  & time/T>> log/log-%date:~0,10%.txt   
#复制a文件夹到%date:~0,10%\a\,并同时把已复制的文件输出到日志文件。xcopy连目录一起复制

IF EXIST %date:~0,10% IF EXIST %delDate%  RD /S /Q %delDate%   //如果已复制完成,则删除前3周(%delDate%指明,由下面vb取得)的备份。

2。建立backup.vbs,取的前3周的日期内容如下(不包括说明):

dtmYesterday = DateAdd("d",-21,Date)        "取前21天,即3周前的日期

strYear      = DatePart("yyyy",dtmYesterday)
If DatePart("m",dtmYesterday) < 10 Then
        strMonth = 0 & DatePart("m",dtmYesterday)
Else
        strMonth = DatePart("m",dtmYesterday)
End If
If DatePart("d",dtmYesterday) < 10 Then
        strDay = 0 & DatePart("d",dtmYesterday)
Else
        strDay = DatePart("d",dtmYesterday)
End If
delDate = strYear &"-"& strMonth &"-" &strDay

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run("CMD /C set  delDate=" & delDate & " & backup.bat")    "调用上面写的backup.bat,并传递前3周日期delDate, /C 执行后关闭cmd窗口,/K则不。

Set WshShell = Nothing

现在可以在cmd窗口里或直接点击backup.vbs执行,则可完成备份。再利用任务计划,则可定时执行你的备份了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2008-3-7 14:57:56 | 只看该作者

    好东西

    收藏!   结合Windows计划任务就可以完全实现自动备份了!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 15:40 , Processed in 0.064586 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表