借助VBS和BAT这两个最简单的编程语言实现按周期计划自动备份文件夹功能(Github源码链接见篇尾)

程序由两部分组成:

1.文件夹备份主程序(VBS文件)

2.周期任务计划程序(BAT文件)

一、文件夹备份主程序

为方便备份功能按周期计划静默执行,文件夹备份主程序会在执行时自动生成配置文件和日志文件。流程图如下:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(1)

配置文件config.xml以xml形式记录用户所选源文件夹和备份文件夹,xml结构化语言,方便存储和获取文件夹信息;

日志文件log.txt以文本追加的方式记录每次运行的情况。

校验配置文件config.xml,尝试获取配置信息:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(2)

选择文件夹功能:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(3)

如无配置信息,自动创建配置文件config.xml,记录所选文件夹信息:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(4)

为避免大容量的文件夹在复制时出现进度条影响备份体验,通过循环遍历文件夹和子文件夹下所有文件,以覆盖方式复制到备份文件夹(后续可以考虑获取文件MD5信息,通过MD5校验文件一致性,如文件一致直接跳过,进一步提高备份效率):

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(5)

追加日志内容,记录文件夹备份数量或程序执行错误信息:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(6)

二、周期任务计划主程序

定制“周期任务计划”功能,创建schedule.bat文件,程序内容如下:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(7)

主要程序语句说明:

1.使用"%~dp0"获取bat文件所在文件夹

2.strPath=%~dp0FolderSync.vbs:获取FolderSync.vbs文件夹备份主程序的绝对路径

3.schtasks:创建任务计划,命名为"SyncFolderTask",执行程序路径为strPath,周期为每星期(weekly)的周一(mon)时间为“11:00”

4.pause :等待用户输入(即按任意键退出)

注意需使用管理员权限执行schedule.bat,否则会出现权限不足的错误。

执行成功后,感兴趣的话可以进入windows“任务计划程序”中,

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(8)

查看设置的计划内容SyncFoldersTask,如下图所示:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(9)

自动完成设置触发周期:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(10)

自动完成设置启动程序为FolderSync.vbs:

vbs文件夹定时复制(使用vbs和bat实现按周期计划自动备份文件夹)(11)

Github源码地址

https://github.com/feishu0110/FolderSync

推荐阅读

1.Python-剪辑Mp3音频文件

2.Python Paddlehub深度学习框架实现智能抠图

3.西门子COMOS软件开发定制学习7-嵌入谷歌浏览器内核

4.西门子COMOS软件开发定制学习4-小游戏

5.西门子COMOS软件开发定制学习5-用程序绘制椭圆

,