该工具根据位于程序可执行文件所在文件夹中的 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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1701-以文件名创建文件夹排除(1)序列将同名文件移入(支持穿透子孙文件夹)
- 2704-获取A文件夹下各文件夹下的图片数量输出到excell
- 3717-搜索指定文件夹下同名文件【包含子孙文件夹下文件】在目标文件夹下创建同名文件夹并将同名文件移入
- 4772-批量删除文件名中某个字符前的所有内容(可选删除字符本身)
- 5781-按照创建日期-最后修改日期提取文件名到excell
- 6786-批量移动指定文件夹下文件到目标文件夹下同名文件夹内
- 7搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 810080-0-监测指定文件夹对所有压缩包创建同名文件夹并解压-不支持子孙文件夹内压缩包-只支持zip-rar-7z压缩包的解压
- 910082-1-批量解压压缩包-【支持子文件夹穿透】【不支持密码解压-多层嵌套压缩包解压】
- 1020250104-批量删除pdf中指定区域内容【定制版】





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