电脑文件自动整理时保留原目录结构的做法

胖伟大大_9911

胖伟大大_9911

2026-11-11

346人浏览

原创

保留原目录结构可避免路径混淆,适合多项目并行场景;shutil.copytree需确保目标不存在且用ignore过滤临时文件;pathlib+shutil.move需先建目录树;规则引擎须启用preserve_structure并正确使用$1捕获组。

电脑文件自动整理时保留原目录结构的做法

电脑文件自动整理时保留原目录结构,是为了在归类过程中不破坏原有层级关系,避免把“项目A/源文件/psd”和“项目B/源文件/psd”全塞进同一个“PSD”文件夹导致路径混淆。这种做法特别适合多项目并行、需维持相对路径引用的设计师、前端开发者或科研数据整理者。

用 shutil.copytree 实现结构化复制

第一步:确认源目录无符号链接或占用中文件。shutil.copytree 默认不处理符号链接,遇到会报错;若目标路径已存在,直接失败,必须提前清空或改名。

第二步:编写脚本,调用 copytree 并设置 ignore 参数过滤临时文件:ignore=shutil.ignore_patterns('*.tmp', '__pycache__', '.DS_Store')。这一步跳过缓存与临时文件,防止把编译中间产物也复制过去。

第三步:执行复制命令 → 【dst 目录必须不存在,否则抛出 FileExistsError】。copytree 不支持增量合并,强行覆盖会中断整个流程,必须用 shutil.rmtree(dst) 先删再建。

用 pathlib + shutil.move 逐层迁移并保结构

方法一:按深度优先遍历子目录,对每个匹配文件执行 move 操作,目标路径用 parent.relative_to(src_root).joinpath(file.name) 构造。

方法二:先创建完整目标路径树,再移动文件。用 os.walk 遍历 src_root,每进入一个子目录就用 Path(dst_root).joinpath(rel_path).mkdir(parents=True, exist_ok=True) 创建对应空目录。这一步必须在移动前完成,否则 shutil.move 会因父目录不存在而失败。

醒蓝AI
醒蓝AI

醒蓝AI是一款用于生成职业形象照、证件照、写真照和换脸照片的 AI 照片工具。

下载

注意:Windows 下移动跨卷文件实际是复制+删除,若中途断电可能残留源文件且目标不全。建议优先使用 copy + verify + remove 模式,而非直用 move。

配置规则引擎时启用“路径继承模式”

第一步:在 JSON/YAML 规则文件中开启 "preserve_structure": true 字段。

第二步:定义分类规则时,用 "$1" 引用正则捕获组,例如匹配 "project_(\w+)/.*\.(psd|ai)" → 目标路径设为 "Design/$1/$0",其中 $0 是原始相对路径,$1 是项目名。

第三步:运行工具前执行 dry-run,检查日志里所有 dst 路径是否都包含与 src 对应的嵌套层级。如果出现 "Design/IMG_1234.psd" 这种扁平路径,说明规则未启用路径继承或正则未正确捕获目录名。

这一步操作起来很简单,直接把文件拖进去就行。但若规则里漏写 $1 或写成 $2,就会导致所有匹配文件全部坍缩到一级目录,无法回溯原始归属。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

自动整理电脑文件

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

60

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

40

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

40

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

60

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

60

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

60

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

60

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

60

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习