加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 22:27:40 所属栏目:大数据 来源:网络整理
导读:假如D:backupa为备份源文件夹,备份路径为D:backup,文件夹名为当天的日期,如D:backup2006-04-17a,每周5备份一次,3周一个循环,即备份第4周时,第1周的备份删除,以减少空间。同时在D:backuplog里写日志文件,记录复制的文件,文件名为log-日期.t

假如D:backupa为备份源文件夹,备份路径为D:backup,文件夹名为当天的日期,如D:backup2006-04-17a,每周5备份一次,3周一个循环,即备份第4周时,第1周的备份删除,以减少空间。同时在D:backuplog里写日志文件,记录复制的文件,文件名为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执行,则可完成备份。再利用任务计划,则可定时执行你的备份了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读