原标题:702-查找B文件夹下与A文件夹下同名文件并用A文件夹下文件替换【带界面-源代码】
导读:
该工具的主要功能是在两个指定文件夹(文件夹A和文件夹B)及其子文件夹中,查找名称相同的文件,并使用文件夹A中的同名文件替换文件夹B中的文件。工具通过图形用户界面(GUI)与用户...
该工具的主要功能是在两个指定文件夹(文件夹A和文件夹B)及其子文件夹中,查找名称相同的文件,并使用文件夹A中的同名文件替换文件夹B中的文件。工具通过图形用户界面(GUI)与用户交互,提供操作日志记录,设有开始、停止操作按钮,以及清空输入框和日志的功能。此外,菜单栏还提供了定制程序联系方式和更多程序介绍的链接。
用户使用该工具时,操作步骤如下:
- 查看程序信息:打开程序后,在界面上方可看到详细的程序介绍,包括支持的操作系统、文件格式、子文件夹穿透情况、操作说明以及使用注意事项(直接替换,请注意备份文件或测试后批量使用)。
- 选择文件夹A路径:在“文件夹A路径: ”旁边的文本框中,用户既可以手动输入包含用于替换文件的文件夹A路径,也可以点击“选择文件夹A”按钮,通过弹出的文件选择对话框选择文件夹。选择后,路径会显示在文本框中。
- 选择文件夹B路径:在“文件夹B路径: ”旁边的文本框,用户同样可手动输入包含需要被替换文件的文件夹B路径,或点击“选择文件夹B”按钮,通过文件选择对话框选择文件夹,路径将显示在文本框中。
- 开始替换操作:确认文件夹A和文件夹B路径输入正确后,点击“开始”按钮,程序将启动一个后台线程执行文件替换操作。此时,“开始”按钮变为不可用状态,“停止”按钮变为可用状态,并在日志中记录“程序开始运行...”。后台线程会执行以下操作:
- 遍历文件夹A获取文件列表:使用
os.walk
遍历文件夹A及其子文件夹,将所有文件的文件名作为键,文件的完整路径作为值,存储在字典files_in_a
中。 - 遍历文件夹B进行替换:再次使用
os.walk
遍历文件夹B及其子文件夹,对于每个文件,检查其文件名是否在files_in_a
字典中。如果存在,即表示在文件夹A中有同名文件,则使用shutil.copy2
函数,用文件夹A中的同名文件替换文件夹B中的该文件,并在日志中记录“已替换文件:[文件夹B中被替换文件的路径]”。同时,记录已替换文件的数量。如果在遍历过程中,用户点击了“停止”按钮,线程会检测到stop_event
被设置,从而停止遍历和替换操作。 - 操作完成反馈:当文件夹B及其子文件夹遍历完成后,如果没有替换任何文件,日志记录“没有找到与文件夹A中同名的文件。”;如果替换了文件,日志记录“操作完成,共替换了 [替换文件数量] 个文件。”。此时,“开始”按钮恢复可用,“停止”按钮变为不可用。
- 遍历文件夹A获取文件列表:使用
- 停止替换操作:在替换操作进行过程中,如果用户想终止操作,可以点击“停止”按钮。这会设置
stop_event
,通知后台线程停止操作,“停止”按钮变为不可用,“开始”按钮恢复可用,并在日志中记录“任务已终止。”。 - 清空输入框:点击“清空输入”按钮,可清除“文件夹A路径”和“文件夹B路径”两个文本框中的内容。
- 清空日志:点击“清空日志”按钮,可清空显示操作日志的文本框内容。
- 使用菜单栏:
- 定制程序:点击菜单栏中的“2、定制win/mac程序”,会弹出窗口显示定制程序的联系方式、费用说明等信息。
- 更多程序介绍:点击菜单栏中的“1、更多程序介绍”,可看到多个程序相关信息链接,如“如何自己写批处理”“了解更多批处理”“系统优化”“AI及其他”“更多信息”等,点击链接可打开相应网页查看详细内容。
例如,假设存在如下文件夹结构:
文件夹 A
│
├── file1.txt
│
├── subfolder1
│ └── file2.jpg
└── file3.png
文件夹 B
│
├── file1.txt
│
├── subfolder2
│ └── file2.jpg
└── file4.docx
用户运行程序,选择“文件夹A”作为文件夹A路径,选择“文件夹B”作为文件夹B路径,点击“开始”按钮。程序会遍历文件夹A获取文件列表,然后遍历文件夹B,找到“file1.txt”和“file2.jpg”与文件夹A中的同名文件,进行替换操作,并在日志中记录“已替换文件:文件夹B/file1.txt”“已替换文件:文件夹B/subfolder2/file2.jpg”。操作完成后,日志记录“操作完成,共替换了2个文件。”。若在操作过程中点击“停止”按钮,操作将被终止。用户还可通过点击“清空输入”和“清空日志”按钮进行相应操作,或从菜单栏获取更多信息。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 708-读取txt搜索指定文件夹下文件并移动到目标文件夹
- 716-批量移动指定文件夹带有关键词文件到目标文件夹-支持多个关键词
- 763-批量删除整理多层文件夹冗余
- 776-批量删除指定文件夹下所有文件名中指定的关键词
- 777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- 784-批量搜索移动或复制指定文件夹下指定名称的指定格式的文件到指定文件夹
- 786-批量移动指定文件夹下文件到目标文件夹下同名文件夹内
- 453-批量删除pdf中包含二维码的注释-(只处理注释)
- 454-批量检测损坏pdf文件并移动到目标文件夹内
- 修复“你当前无权访问该文件夹”问题
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...