原标题:710-批量合并指定文件夹下同名文件夹到目标文件夹合并时覆盖同名文件【带界面-源代码】
导读:
主要功能是批量合并指定源文件夹下与目标文件夹中同名的文件夹并可选择对同名文件进行覆盖或重命名处理,同时支持文件的复制或移动操作。该工具提供了直观的图形用户界面(GUI)。&...
主要功能是批量合并指定源文件夹下与目标文件夹中同名的文件夹
并可选择对同名文件进行覆盖或重命名处理,同时支持文件的复制或移动操作。该工具提供了直观的图形用户界面(GUI)。
用户使用该工具时,操作步骤如下:
查看工具信息:
打开程序后,在界面上方可了解到工具的功能为批量合并指定文件夹下同名文件夹到目标文件夹,合并时可选择覆盖同名文件的方式,以及对文件进行复制或移动操作。
选择源文件夹路径:
在“源文件夹路径:”旁边的文本框,用户既可以手动输入包含待合并文件夹的源文件夹路径,也可以点击“选择文件夹”按钮,通过弹出的文件选择对话框选择文件夹,路径会显示在文本框中。
选择目标文件夹路径:
在“目标文件夹路径:”旁边的文本框,同样可手动输入目标文件夹路径,或点击“选择文件夹”按钮选择文件夹,路径将显示在文本框中。
选择同名文件处理方式:
在“遇到同名文件:”选项组中,用户可选择“直接覆盖同名文件”或“使用_1这样的序列重命名同名文件”,默认选择为“直接覆盖同名文件”。
选择文件操作方式:
在“文件操作方式:”选项组中,用户可选择“复制文件到目标文件夹”或“移动文件到目标文件夹(源文件夹下空文件夹会被删除)”,默认选择为“复制文件到目标文件夹”。
开始合并操作:
确认上述各项信息输入和选择无误后,点击“开始程序”按钮,程序将启动一个后台线程执行文件夹合并操作。此时,“开始程序”按钮变为不可用状态,“结束任务”按钮变为可用状态,并在日志中记录“开始文件夹合并...”。后台线程会执行以下操作:
查找同名文件夹:
遍历源文件夹,找出所有子文件夹,对于每个子文件夹,检查目标文件夹中是否存在同名子文件夹。若不存在,则在日志中记录并跳过该子文件夹的合并;若存在,则继续下一步。
合并文件夹内容:
对于源文件夹和目标文件夹中的同名子文件夹,保持源文件夹的目录结构,在目标文件夹中创建相应的子文件夹结构。遍历源文件夹子文件夹中的所有文件,对于每个文件,检查目标文件夹对应位置是否已有同名文件。根据用户选择的同名文件处理方式进行操作:
覆盖方式:
若选择“直接覆盖同名文件”,则删除目标文件夹中的同名文件,然后将源文件复制或移动到目标位置,并在日志中记录“文件 [文件名] 已存在,将被覆盖”“文件 [文件名] 已复制/移动”。
重命名方式:
若选择“使用_1这样的序列重命名同名文件”,则为目标文件生成唯一路径(如在文件名后添加“_数字”),避免覆盖,然后将源文件复制或移动到新路径,并在日志中记录“文件 [文件名] 已存在,重命名为 [新文件名]”“文件 [文件名] 已复制/移动”。
清理空文件夹(移动操作时):
如果用户选择的是“移动文件到目标文件夹”操作,合并完成后,程序会递归删除源文件夹中的空文件夹,并在日志中记录“空文件夹 [文件夹路径] 已删除”。
操作完成反馈:
所有同名文件夹合并完成后,日志中会记录“所有文件夹已合并完成”,同时“开始程序”按钮恢复可用,“结束任务”按钮变为不可用。
停止合并操作:
在合并操作进行过程中,如果用户想终止操作,可以点击“结束任务”按钮。这会设置stop_event
,通知后台线程停止操作,“结束任务”按钮变为不可用,“开始程序”按钮恢复可用,并在日志中记录“任务已终止”。
清空输入框:
点击“清空输入框”按钮,可清除“源文件夹路径”和“目标文件夹路径”两个文本框中的内容。
清空日志:
点击“清空日志”按钮,可清空显示操作日志的文本框内容。
例如,假设存在如下文件夹结构:
源文件夹
│
├── 文件夹 A
│ ├── file1.txt
│ └── subfolder1
│ └── file2.jpg
├── 文件夹 B
│ └── file3.png
目标文件夹
│
├── 文件夹 A
│ └── subfolder1
│ └── existing_file.jpg
├── 文件夹 B
用户运行程序,选择“源文件夹”作为源文件夹路径,选择“目标文件夹”作为目标文件夹路径,选择“直接覆盖同名文件”和“复制文件到目标文件夹”,点击“开始程序”按钮。程序会找到源文件夹和目标文件夹中的同名文件夹“文件夹A”和“文件夹B”。对于“文件夹A”,会在目标文件夹的“文件夹A/subfolder1”中覆盖“existing_file.jpg”并复制“file2.jpg”,同时在源文件夹的“文件夹A”中复制“file1.txt”到目标文件夹的“文件夹A”;对于“文件夹B”,会将“file3.png”复制到目标文件夹的“文件夹B”。每次操作都会在日志中记录。若在操作过程中点击“结束任务”按钮,操作将被终止。用户还可通过点击“清空输入框”和“清空日志”按钮进行相应操作,或从菜单栏获取更多信息。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【05】更多样品
- 710-批量合并指定文件夹下同名文件夹到目标文件夹合并时覆盖同名文件
- 724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 764-删除空文件夹-多层文件夹精简夹
- 769-批量删除文件名中的指定字符串
- 777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- 785-批量重命指定文件夹内所有文件-指定名称+数字序列…形式
- 789-批量检测指定文件夹下空文件夹并输出到txt
- win系统可以安全删除的文件夹-以清理释放系统空间
- 10080-0-监测指定文件夹对所有压缩包创建同名文件夹并解压-不支持子孙文件夹内压缩包-只支持zip-rar-7z压缩包的解压
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...