原标题:100113-搜索指定文件夹下指定文件夹并移动文件夹到指定文件夹内【源代码】
导读:
该工具根据位于程序可执行文件所在文件夹中的 floder.txt 文件内的文件夹名称列表,在用户指定的源文件夹及其所有子文件夹中查找相应的文件夹,并将其移动或复制到用户指定的目...
该工具根据位于程序可执行文件所在文件夹中的 floder.txt
文件内的文件夹名称列表,在用户指定的源文件夹及其所有子文件夹中查找相应的文件夹,并将其移动或复制到用户指定的目标文件夹中。操作完成后,工具会列出所有在 floder.txt
中的文件夹名,以及其中未成功移动或复制的文件夹名。用户可以选择是否继续对其他源文件夹和目标文件夹执行相同操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式以及定制费用说明。之后,用户按以下步骤操作:
- 输入源文件夹路径:在“请输入需要处理的源文件夹的路径: ”提示后,用户需准确输入包含待查找和移动或复制文件夹的源文件夹路径。
- 输入目标文件夹路径:在“请输入需要将搜索到的文件夹移动或复制到的目标文件夹的路径: ”提示后,用户输入用于存放移动或复制后文件夹的目标文件夹路径。
- 选择操作类型:在“请输入操作类型 (输入'move' 或 输入'copy'): ”提示后,用户输入“move”选择移动操作,输入“copy”选择复制操作。若输入其他内容,程序会提示“Invalid operation. 请选择 'move' or 'copy'.”并结束本次操作。
- 执行移动或复制操作:
- 读取文件夹列表:程序获取当前运行的可执行文件路径,确定程序所在文件夹,并构建
floder.txt
文件的路径。然后读取floder.txt
文件内容,将每一行内容去除两端空白字符并使用unquote
函数解码(假设内容可能是经过URL编码的),得到需要查找的文件夹名称列表。 - 遍历源文件夹并操作:使用
os.walk
函数遍历源文件夹及其所有子文件夹。对于每个子文件夹,检查其名称是否在从floder.txt
读取的文件夹名称列表中。若存在,则根据用户选择的操作类型,使用shutil.move
进行移动操作或shutil.copytree
进行复制操作,将该子文件夹移动或复制到目标文件夹中。操作成功会在控制台打印“Moved '[文件夹名]' from [源路径] to [目标路径]”或“Copied '[文件夹名]' from [源路径] to [目标路径]”;若操作出错,会打印“Error [操作类型]ing '[文件夹名]': [错误信息]”。程序会记录成功移动或复制的文件夹名。 - 操作结果反馈:操作完成后,程序会列出所有在
floder.txt
中的文件夹名,然后列出其中未成功移动或复制的文件夹名。
- 读取文件夹列表:程序获取当前运行的可执行文件路径,确定程序所在文件夹,并构建
- 询问是否继续:完成一次移动或复制操作后,程序询问“是否要继续运行程序?(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入源文件夹路径、目标文件夹路径和操作类型,开始新一轮的操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
源文件夹
│
├── 文件夹 A
│ ├── subfolder1
│ └── subfolder2
├── 文件夹 B
│ ├── subfolder3
│ └── subfolder4
└── 文件夹 C
目标文件夹
程序所在文件夹
│
├── floder.txt(内容为 “subfolder1\nsubfolder3\nsubfolder5”)
用户运行程序,输入“源文件夹”作为源文件夹路径,“目标文件夹”作为目标文件夹路径,输入“move”作为操作类型。程序会在源文件夹及其子文件夹中查找 floder.txt
中列出的文件夹,将“源文件夹/文件夹A/subfolder1”移动到“目标文件夹/subfolder1”,将“源文件夹/文件夹B/subfolder3”移动到“目标文件夹/subfolder3”,并在控制台打印相应操作信息。操作完成后,程序列出所有文件夹名“subfolder1”“subfolder3”“subfolder5”,并指出“subfolder5”没有被移动。然后询问用户是否继续运行程序。若选择“y”,可重新输入路径和操作类型进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 752-批量复制文件及文件夹到多个文件夹
- 756-对指定文件夹下文件及文件夹建立目录树-支持导出多种文件格式
- 765-批量删除指定文件夹下文件和文件夹名中指定的字符或符号
- 771-批量复制指定文件夹到多个文件夹中
- 772-批量删除文件名中某个字符前的所有内容(可选删除字符本身)
- 787-批量判断指定文件夹下文件的真实文件类型并修改
- 790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 10081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 批量将pdf转为tiff格式-默认分辨率300-默认每页大小1.1
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...