借助VBS和BAT这两个最简单的编程语言实现按周期计划自动备份文件夹功能(Github源码链接见篇尾)
程序由两部分组成:
1.文件夹备份主程序(VBS文件)
2.周期任务计划程序(BAT文件)
一、文件夹备份主程序
为方便备份功能按周期计划静默执行,文件夹备份主程序会在执行时自动生成配置文件和日志文件。流程图如下:
配置文件config.xml以xml形式记录用户所选源文件夹和备份文件夹,xml结构化语言,方便存储和获取文件夹信息;
日志文件log.txt以文本追加的方式记录每次运行的情况。
校验配置文件config.xml,尝试获取配置信息:
选择文件夹功能:
如无配置信息,自动创建配置文件config.xml,记录所选文件夹信息:
为避免大容量的文件夹在复制时出现进度条影响备份体验,通过循环遍历文件夹和子文件夹下所有文件,以覆盖方式复制到备份文件夹(后续可以考虑获取文件MD5信息,通过MD5校验文件一致性,如文件一致直接跳过,进一步提高备份效率):
追加日志内容,记录文件夹备份数量或程序执行错误信息:
二、周期任务计划主程序
定制“周期任务计划”功能,创建schedule.bat文件,程序内容如下:
主要程序语句说明:
1.使用"%~dp0"获取bat文件所在文件夹
2.strPath=%~dp0FolderSync.vbs:获取FolderSync.vbs文件夹备份主程序的绝对路径
3.schtasks:创建任务计划,命名为"SyncFolderTask",执行程序路径为strPath,周期为每星期(weekly)的周一(mon)时间为“11:00”
4.pause :等待用户输入(即按任意键退出)
注意需使用管理员权限执行schedule.bat,否则会出现权限不足的错误。
执行成功后,感兴趣的话可以进入windows“任务计划程序”中,
查看设置的计划内容SyncFoldersTask,如下图所示:
自动完成设置触发周期:
自动完成设置启动程序为FolderSync.vbs:
Github源码地址
https://github.com/feishu0110/FolderSync
推荐阅读
1.Python-剪辑Mp3音频文件
2.Python Paddlehub深度学习框架实现智能抠图
3.西门子COMOS软件开发定制学习7-嵌入谷歌浏览器内核
4.西门子COMOS软件开发定制学习4-小游戏
5.西门子COMOS软件开发定制学习5-用程序绘制椭圆
,