当前位置:首页 > 杂谈 > 正文内容

使用vbs和bat实现按周期计划自动备份文件夹

2024-06-18 06:14:47TONY杂谈284

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

程序由两部分组成:

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

2.周期任务计划程序(Schedule.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.西门子COMOS嵌入百度地图的开发方法

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

4.COMOS数据接口的应用程序开发

5.西门子COMOS软件XmlConnector定制