Skip to content

文件自动整理

File Organizer 是一个强大的文件自动整理工具,可以监控指定目录,根据文件类型、大小、日期等规则自动分类整理文件。

📋 功能特性

  • 智能分类:按文件类型、扩展名自动分类
  • 多目录监控:同时监控多个下载目录
  • 自定义规则:灵活的整理规则配置
  • 定时清理:自动清理过期文件
  • 移动/复制模式:支持多种整理方式
  • 日志记录:完整的操作日志

🚀 快速部署

1. Docker Compose 部署

创建 docker-compose.yml

yaml
version: '3'
services:
  file-organizer:
    image: fileorganizer/file-organizer:latest
    container_name: file-organizer
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - WATCH_INTERVAL=60
    volumes:
      - /path/to/downloads:/downloads
      - /path/to/organized:/organized
      - ./config:/app/config
      - ./logs:/app/logs
    networks:
      - bridge

2. 配置整理规则

创建 config/rules.yaml

yaml
rules:
  # 按文件类型分类
  - name: "视频文件"
    extensions: ["mp4", "mkv", "avi", "mov", "flv"]
    destination: "/organized/videos"
    action: "move"
  
  - name: "文档文件"
    extensions: ["pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx"]
    destination: "/organized/documents"
    action: "move"
  
  - name: "图片文件"
    extensions: ["jpg", "jpeg", "png", "gif", "bmp", "svg"]
    destination: "/organized/images"
    action: "move"
  
  - name: "压缩文件"
    extensions: ["zip", "rar", "7z", "tar", "gz"]
    destination: "/organized/archives"
    action: "move"
  
  - name: "安装包"
    extensions: ["exe", "msi", "dmg", "pkg", "deb", "rpm"]
    destination: "/organized/installers"
    action: "move"
  
  # 按文件大小分类
  - name: "大文件"
    min_size: "1GB"
    destination: "/organized/large_files"
    action: "move"
  
  # 按日期分类(创建子文件夹)
  - name: "按日期归档"
    all_files: true
    organize_by_date: true
    date_format: "YYYY-MM"
    action: "move"

3. 启动服务

bash
docker-compose up -d

⚙️ 高级配置

排除特定文件

yaml
exclude:
  - "*.tmp"
  - "*.part"
  - ".DS_Store"
  - "Thumbs.db"
  - "@eaDir"

子文件夹整理

yaml
organize_subfolders:
  enabled: true
  patterns:
    - pattern: "S\\d+E\\d+"
      destination: "/organized/series"
    - pattern: "\\d{4}"
      destination: "/organized/movies"

清理策略

yaml
cleanup:
  # 清理 30 天前的临时文件
  - path: "/downloads/temp"
    older_than: "30d"
  
  # 清理重复文件
  - type: "duplicates"
    path: "/downloads"
    keep: "newest"

📊 监控与日志

实时日志

bash
docker logs -f file-organizer

查看统计信息

访问 Web 界面(如果支持)或查看日志中的统计信息。

🔧 常见问题

Q1: 文件正在被使用怎么办?

A:

  • 启用"跳过占用文件"选项
  • 设置重试次数和间隔
  • 在系统空闲时执行整理

Q2: 如何恢复误整理的文件?

A:

  1. 查看操作日志定位文件
  2. 从目标目录手动移回
  3. 建议先备份重要文件

Q3: 整理后文件名混乱?

A:

  • 启用"保留原文件名"选项
  • 配置文件名规范化规则
  • 避免特殊字符

Q4: 性能优化建议?

A:

  1. 减少监控目录数量
  2. 增加扫描间隔时间
  3. 排除系统文件夹
  4. 使用 SSD 缓存

🎯 实用场景

场景 1: 下载目录自动整理

监控下载文件夹,自动分类到不同目录。

场景 2: 照片自动归档

将相机 SD 卡的照片自动整理到按日期分类的文件夹。

场景 3: 工作文件整理

自动整理桌面和文档文件夹,保持工作环境整洁。

场景 4: 媒体库维护

整理影视文件到 Plex/Jellyfin 媒体库目录。

🔒 最佳实践

  1. 先备份:首次使用前备份重要文件
  2. 测试规则:先用小文件测试规则
  3. 逐步执行:不要一次性整理大量文件
  4. 定期检查:查看日志确认整理效果
  5. 权限设置:确保容器有读写权限

📝 替代方案

如果 File Organizer 不满足需求,可以考虑:

  • Hazel (macOS)
  • Files 2 Folder (Windows)
  • DropIt (Windows)
  • 自己编写脚本实现

💡 提示:建议先在测试目录验证规则,确认无误后再应用到生产环境。

更新时间: 2026-03-18