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

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

概述假如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,内容如下(不

假如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执行,则可完成备份。再利用任务计划,则可定时执行你的备份了

总结

以上是内存溢出为你收集整理的利用bat,vb实现根据日期自动备份文件全部内容,希望文章能够帮你解决利用bat,vb实现根据日期自动备份文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1284948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存