这段代码实现了一个运行在Windows系统下的实时监测工具,主要功能是实时监测指定源文件夹中的文件和文件夹,并将它们移动到目标文件夹中。在移动文件时,会先检查文件是否正在被占用,若被占用则等待1秒后重试。文件移动采用先复制再验证的方式,确保复制后的文件与源文件一致,若一致则删除源文件,若不一致则删除复制的文件并提示移动失败。
用户使用该工具时,程序会首先打印作者信息,包括在线印刷打印服务网址、定制小工具的微信联系方式及费用说明。随后,用户需要进行以下操作:
- 输入要监测的文件夹路径:在提示“请输入要监测的文件夹路径:”后,用户需准确输入源文件夹的路径。该文件夹内的所有文件和文件夹都将被实时监测。
- 输入目标文件夹路径:在提示“请输入目标文件夹路径:”后,输入目标文件夹路径。源文件夹中的文件和文件夹将被移动到该目标文件夹中。
输入完成后,程序开始实时监测源文件夹。具体监测与移动过程如下:
- 文件夹处理:程序会定期(每秒)获取源文件夹中的所有文件和文件夹列表。对于其中的文件夹,直接将整个文件夹移动到目标文件夹,并在控制台打印“移动文件夹: [文件夹路径]”。
- 文件处理:对于文件,首先检查文件是否正在被占用。若文件被占用,程序会在控制台打印“文件正在被占用,等待1秒后重试...”,并等待1秒后再次尝试检查。若文件未被占用,则将文件复制到目标文件夹,新文件路径为目标文件夹路径加上原文件名。复制完成后,程序会验证复制后的文件与源文件是否一致。若一致,删除源文件,并在控制台打印“移动文件成功:[目标文件路径]”;若不一致,删除复制到目标文件夹的文件,并在控制台打印“移动文件失败:文件完整性验证失败。”
当所有当前源文件夹中的内容处理完毕后,程序会等待1秒,然后再次检查源文件夹,持续进行监测与移动操作。
程序最后会提示“请按任意键继续或结束...”,用户按下任意键后程序结束运行。
以下是实例验证: 假设存在如下文件夹结构:
主文件夹
│
├── 源文件夹
│ ├── file1.txt
│ ├── subfolder1
│ │ ├── file2.jpg
│ │ └── file3.png
│ └── file4.docx
└── 目标文件夹
运行程序后,输入“主文件夹/源文件夹”作为要监测的文件夹路径,“主文件夹/目标文件夹”作为目标文件夹路径。程序开始监测源文件夹,将“subfolder1”文件夹直接移动到目标文件夹,并在控制台打印相关信息。对于文件,如“file1.txt”,若未被占用则先复制到目标文件夹,验证一致后删除源文件并打印成功信息;若“file4.docx”正在被占用,程序会提示等待并每秒重试,直到该文件未被占用后进行移动操作。整个过程持续监测源文件夹,用户按任意键后程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【02】宣传单报价
- 703-批量以所在文件夹名按()内序列顺序重命名文件名
- 709-监测指定文件夹修改文件名为所在文件夹名称并移动到指定文件夹下
- 715-批量对指定文件夹下各子文件夹下所有子孙文件夹内文件提取-提取到各一级子文件夹根目录-并删除空文件夹
- 731-批量以文件夹名命名文件名-以各文件所在文件夹名命名-自动在同名文件名后添加序列_1这样的序列名
- 751-以txt中内容批量搜索并删除删除指定文件夹下文件
- 762-批量提取移动指定文件夹内所有文件包括子孙文件夹文件到指定文件夹
- 770-批量获取指定目录下所有的一级文件夹名字
- 777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- 789-批量检测指定文件夹下空文件夹并输出到txt




还没有评论,来说两句吧...