1、系统环境介绍
笔记本采用win11系统。
安装python3.
使用到的库:
dirsync #文件同步主要靠他。
winotify #可以调用windows系统通知,用来提示同步信息。
openpyxl #读取配置文件信息,当然你可以用其他库。
os #判断配置文件是否存在
2、代码
from dirsync import sync #同步文件主要靠他。
from winotify import Notification #可以调用windows系统通知,用来提示同步信息。
import openpyxl #读取配置文件的配置内容。
import os #判断配置文件是否存在。
if os.access(r"M:\config.xlsx", os.F_OK): #判断配置文件是否存在。
config = openpyxl.load_workbook(r"M:\config.xlsx") #如存在则通过openpyxl打开配置文件
sheet = config.active #打开工作簿(我是这样理解的。。。)
同步使能 = sheet['B2'] #读取B2单元格的值
if 同步使能.value == 1: ##B2单元格的值如果为1,则执行以下:
source_path = "M:\MissDB" #源路径
target_path = "D:\MissDB" #目的路径
sync(source_path, target_path, 'sync') #由源头到目的路径备份
sync(target_path, source_path, 'sync') #由源头到目的路径备份
toast = Notification(app_id="备份成功通知", #发消息到windows通知
title="U盘同步成功",
msg="路径:由U盘到笔记本;再由笔记本到U盘。已完成同步。",
icon=r"D:\MissDB\3、脚本文档\9、图片\Python.png")
toast.show()
else : #配置选项未打开则执行
toast2 = Notification(app_id="备份失败通知",
title="U盘同步失败",
msg="未同步,配置选项未开启。",
icon=r"D:\MissDB\3、脚本文档\9、图片\Python.png")
toast2.show()
else : #配置文件不存在则执行
toast3 = Notification(app_id="备份失败通知",
title="U盘同步失败。",
msg="未同步,未加载到配置文件。",
icon=r"D:\MissDB\3、脚本文档\9、图片\Python.png")
toast3.show()
3、任务计划程序设置
(1)、触发器设置
(2)、执行操作设置
4、实现效果和注意事项
1、插入特定U盘,自动触发脚本,实现电脑本地文件夹和U盘文件夹的双向同步备份。(也可双击触发脚本)
2、可通过U盘根目录下的excel配置文件设置是否开启备份,使能为“1”则开启备份。
3、建议将U盘的驱动器号和路径自定义为较大的字母(我定义为M盘)。
4、脚本名称及路径:“C:\Auto\文件同步.pyw”
5、配置文件名称、路径及内容:“M:\config.xlsx”
6、现有的欠缺:插入U盘和拔出U盘都会触发脚本,理想是只有插入U盘时才触发。暂未解决。
7、小白的第一个成型脚本,只为实现功能,不为靠代码吃饭。所以云云。。。。
评论区