# 文件整理最佳实践指南

## 目录
1. 概览
2. 文件保留策略
3. 常见场景处理建议
4. 风险防范与备份
5. 批量操作建议

## 概览
本指南提供重复文件整理的最佳实践，帮助用户安全、高效地清理磁盘空间。

## 文件保留策略

### 1. 基于文件路径
- **优先保留规则**：
  - 主目录 > 子目录 > 临时目录
  - 原始文件夹 > 备份文件夹 > 下载文件夹
  - Documents/Personal > Downloads/Desktop

### 2. 基于修改时间
- **原则**：保留修改时间最早的文件（通常是最初的原始文件）
- **例外**：
  - 已编辑的文档可能需要保留最新版本
  - 处理过的图片（如裁剪、调色）应保留编辑版本

### 3. 基于文件名
- **推荐保留**：
  - 原始文件名（如 IMG_20240101_120000.jpg）
  - 描述性文件名（如 vacation-beach.jpg）
- **可删除**：
  - 包含 copy、duplicate、副本 等字样的文件名
  - 包含数字后缀且无明显规律的文件名

### 4. 基于文件大小
- **相同哈希时**：文件大小一定相同，无需额外判断
- **不同哈希但相似内容**：保留质量更高、体积更大的版本（适用于图片）

## 常见场景处理建议

### 照片整理
- **保留策略**：
  - 保留拍摄时间最早的原始文件
  - 保留编辑过的版本（如有明显后期处理）
  - 保留文件夹结构更规范的文件
- **删除策略**：
  - 删除屏幕截图的重复版本
  - 删除微信/WhatsApp缓存的图片副本
  - 删除临时文件夹中的照片

### 文档整理
- **保留策略**：
  - 保留修改时间最新的版本（除非有特殊版本控制需求）
  - 保留原始文件夹中的文件
  - 保留有明确命名规范的文件
- **删除策略**：
  - 删除"~$"开头的临时文件（Office自动生成的副本）
  - 删除Downloads中的重复文档

### 媒体文件整理
- **保留策略**：
  - 保留质量更高的版本（可通过文件名中的标识判断，如 1080p, 4K, FLAC）
  - 保留播放列表中的引用位置
- **删除策略**：
  - 删除预览文件或缓存文件
  - 删除重复下载的相同文件

### 代码和配置文件
- **警告**：⚠️ 特别谨慎，可能影响系统或项目运行
- **建议**：
  - 不建议自动删除，需人工确认每个文件
  - 优先保留项目根目录的文件
  - 保留有明确版本控制的文件

## 风险防范与备份

### 备份策略
1. **操作前备份**：
   - 对于重要文件夹，建议先创建完整备份
   - 可使用外部硬盘、云存储进行备份

2. **渐进式清理**：
   - 先从低风险目录开始（Downloads, Desktop）
   - 再处理中等风险目录（Documents, Pictures）
   - 最后处理高风险目录（系统目录、项目文件）

3. **验证机制**：
   - 删除前检查文件是否被其他程序引用
   - 删除后确认系统和程序运行正常

### 禁止操作的目录
- Windows:
  - `C:\Windows\System32`
  - `C:\Program Files`
  - `C:\Program Files (x86)`
- macOS:
  - `/System`
  - `/Library`
  - `/usr`
- Linux:
  - `/usr/bin`
  - `/etc`
  - `/var`

## 批量操作建议

### 删除脚本生成
智能体可根据扫描报告生成删除脚本，建议包含以下内容：
1. 逐行确认机制（防止误删）
2. 删除前备份（移动到临时目录而非直接删除）
3. 操作日志记录

### 批量移动
对于不确定是否要删除的重复文件，可先移动到备份目录：
```bash
mkdir -p ~/duplicate_files_backup
mv <重复文件路径> ~/duplicate_files_backup/
```
确认系统运行正常后，再清理备份目录。

### 分批处理
- 按文件大小分批：先处理大文件（释放更多空间）
- 按文件类型分批：先处理媒体文件，再处理文档
- 按目录分批：一次处理一个目录，降低风险

## 注意事项

1. **文件名编码**：某些特殊字符可能导致脚本执行失败
2. **权限问题**：系统文件可能需要管理员权限才能删除
3. **符号链接**：注意区分实际文件和符号链接，避免误删原始文件
4. **隐藏文件**：检查隐藏文件（以.开头）是否需要处理

## 示例场景

### 场景1：清理Downloads目录
```
扫描目录: ~/Downloads
最小文件: 10KB
文件类型: 全部
保留策略: 保留文件名更规范、路径更清晰的文件
风险等级: 低
```

### 场景2：整理照片库
```
扫描目录: ~/Pictures
最小文件: 50KB
文件类型: jpg, png, heic, raw
保留策略: 保留拍摄时间最早、文件夹结构更规范的文件
风险等级: 中（建议备份后操作）
```

### 场景3：整理工作文档
```
扫描目录: ~/Documents/Work
最小文件: 1KB
文件类型: docx, xlsx, pptx, pdf
保留策略: 人工确认，保留修改时间最新的版本
风险等级: 高（必须人工确认）
```
