File Sorter - 文件智能分类工具
功能特性
- ✅ 多种分类规则:文件类型、文件大小、文件日期、关键词
- ✅ 灵活操作:移动、复制、创建符号链接
- ✅ 预览功能:先预览效果,确认后再执行
- ✅ 撤销操作:支持撤销最近一次整理
- ✅ 自定义规则:支持自定义分类规则和文件夹结构
- ✅ 规则预设:保存和加载分类规则预设
快速开始
1. 按文件类型分类
file-sorter organize ~/Downloads --by-type --output ~/Sorted
2. 按文件大小分类
file-sorter organize ~/Downloads --by-size --output ~/Sorted
3. 按文件日期分类(修改日期)
file-sorter organize ~/Downloads --by-date modified --output ~/Sorted
4. 预览模式(不实际执行)
file-sorter organize ~/Downloads --by-type --preview
5. 撤销操作
file-sorter undo ~/Sorted
详细使用说明
分类规则说明
按文件类型分类
- 默认类别:
- documents:文档类(.pdf, .doc, .docx, .txt, .xls, .xlsx, .ppt, .pptx)
- images:图片类(.jpg, .jpeg, .png, .gif, .webp, .heic)
- videos:视频类(.mp4, .avi, .mov, .mkv)
- audio:音频类(.mp3, .wav, .flac, .aac)
- installers:安装包类(.exe, .msi, .dmg, .pkg, .deb, .rpm)
- archives:压缩包类(.zip, .rar, .7z, .tar, .gz)
- code:代码类(.py, .js, .html, .css, .java, .cpp)
- 自定义类别:使用 --categories 参数或配置文件
按文件大小分类
- 默认规则:
- small:小于 1MB
- medium:1MB - 100MB
- large:大于 100MB
- 自定义规则:使用 --size-rules 参数或配置文件
按文件日期分类
- 选项:
- created:按创建日期
- modified:按修改日期
- accessed:按访问日期
- 文件夹结构:按年/月/日组织(如 2026/03/07)
操作类型
- move:移动文件(默认)
- copy:复制文件
- link:创建符号链接
配置文件
可以在项目根目录创建 .file-sorter.json 配置默认选项:
{
"output_dir": "~/Sorted",
"action": "move",
"categories": {
"documents": [".pdf", ".doc"],
"images": [".jpg", ".png"]
},
"size_rules": {
"small": [0, 1048576],
"medium": [1048576, 104857600],
"large": [104857600, null]
},
"backup_original": true
}
安全措施
- 预览模式:默认先显示预览,需要确认后才执行
- 自动备份:执行整理前自动保存操作日志
- 撤销功能:随时可以撤销最近一次操作
- dry-run 选项:使用 --preview 查看效果
示例场景
场景 1:整理下载文件夹
# 按类型整理下载文件
file-sorter organize ~/Downloads --by-type --output ~/Downloads/Organized
场景 2:整理照片
# 按拍摄日期整理照片
file-sorter organize ~/Photos --by-date created --output ~/Photos/ByDate
场景 3:按大小分类大文件
# 找出所有大于 100MB 的文件
file-sorter organize ~/Videos --by-size --output ~/Videos/BySize
故障排除
- 撤销失败:确保在同一目录下执行,且备份文件未被删除
- 规则冲突:多个规则匹配时,按规则优先级处理(类型 > 大小 > 日期)
- 权限问题:确保有文件读写权限
更新日志
v1.0.0 (2026-03-07)
- 初始正式版本发布
- 支持按类型、大小、日期分类
- 支持预览和撤销功能
1---2name: file-sorter3description: Organizes files into folders by type, size, or date, with preview, undo, and custom rule support.4---56# File Sorter - 文件智能分类工具78## 功能特性9- ✅ 多种分类规则:文件类型、文件大小、文件日期、关键词10- ✅ 灵活操作:移动、复制、创建符号链接11- ✅ 预览功能:先预览效果,确认后再执行12- ✅ 撤销操作:支持撤销最近一次整理13- ✅ 自定义规则:支持自定义分类规则和文件夹结构14- ✅ 规则预设:保存和加载分类规则预设1516## 快速开始1718### 1. 按文件类型分类19```bash20file-sorter organize ~/Downloads --by-type --output ~/Sorted21```2223### 2. 按文件大小分类24```bash25file-sorter organize ~/Downloads --by-size --output ~/Sorted26```2728### 3. 按文件日期分类(修改日期)29```bash30file-sorter organize ~/Downloads --by-date modified --output ~/Sorted31```3233### 4. 预览模式(不实际执行)34```bash35file-sorter organize ~/Downloads --by-type --preview36```3738### 5. 撤销操作39```bash40file-sorter undo ~/Sorted41```4243## 详细使用说明4445### 分类规则说明4647#### 按文件类型分类48- **默认类别**:49 - documents:文档类(.pdf, .doc, .docx, .txt, .xls, .xlsx, .ppt, .pptx)50 - images:图片类(.jpg, .jpeg, .png, .gif, .webp, .heic)51 - videos:视频类(.mp4, .avi, .mov, .mkv)52 - audio:音频类(.mp3, .wav, .flac, .aac)53 - installers:安装包类(.exe, .msi, .dmg, .pkg, .deb, .rpm)54 - archives:压缩包类(.zip, .rar, .7z, .tar, .gz)55 - code:代码类(.py, .js, .html, .css, .java, .cpp)56- **自定义类别**:使用 --categories 参数或配置文件5758#### 按文件大小分类59- **默认规则**:60 - small:小于 1MB61 - medium:1MB - 100MB62 - large:大于 100MB63- **自定义规则**:使用 --size-rules 参数或配置文件6465#### 按文件日期分类66- **选项**:67 - created:按创建日期68 - modified:按修改日期69 - accessed:按访问日期70- **文件夹结构**:按年/月/日组织(如 2026/03/07)7172### 操作类型73- **move**:移动文件(默认)74- **copy**:复制文件75- **link**:创建符号链接7677### 配置文件78可以在项目根目录创建 `.file-sorter.json` 配置默认选项:79```json80{81 "output_dir": "~/Sorted",82 "action": "move",83 "categories": {84 "documents": [".pdf", ".doc"],85 "images": [".jpg", ".png"]86 },87 "size_rules": {88 "small": [0, 1048576],89 "medium": [1048576, 104857600],90 "large": [104857600, null]91 },92 "backup_original": true93}94```9596## 安全措施971. **预览模式**:默认先显示预览,需要确认后才执行982. **自动备份**:执行整理前自动保存操作日志993. **撤销功能**:随时可以撤销最近一次操作1004. **dry-run 选项**:使用 --preview 查看效果101102## 示例场景103104### 场景 1:整理下载文件夹105```bash106# 按类型整理下载文件107file-sorter organize ~/Downloads --by-type --output ~/Downloads/Organized108```109110### 场景 2:整理照片111```bash112# 按拍摄日期整理照片113file-sorter organize ~/Photos --by-date created --output ~/Photos/ByDate114```115116### 场景 3:按大小分类大文件117```bash118# 找出所有大于 100MB 的文件119file-sorter organize ~/Videos --by-size --output ~/Videos/BySize120```121122## 故障排除123- **撤销失败**:确保在同一目录下执行,且备份文件未被删除124- **规则冲突**:多个规则匹配时,按规则优先级处理(类型 > 大小 > 日期)125- **权限问题**:确保有文件读写权限126127## 更新日志128### v1.0.0 (2026-03-07)129- 初始正式版本发布130- 支持按类型、大小、日期分类131- 支持预览和撤销功能