一个自动化文件分类工具,可按文件扩展名批量整理目标文件夹中的文件,自动创建分类子目录并移动文件,让杂乱的文件夹一键变得整洁有序。
| 分类 | 支持的文件扩展名 |
|---|---|
| -------- | ------------------------------------------------------ |
| 文档 | .doc, .docx, .pdf, .txt, .md, .ppt, .pptx, .xls, .xlsx, .csv |
| 图片 | .jpg, .jpeg, .png, .gif, .svg, .webp, .bmp, .ico, .tiff |
| 代码 | .js, .py, .html, .css, .ts, .java, .cpp, .c, .go, .rs, .vue, .jsx, .tsx |
| 压缩包 | .zip, .rar, .7z, .tar.gz, .tar, .gz, .bz2 |
| 视频 | .mp4, .avi, .mov, .mkv, .wmv, .flv, .webm |
| 音频 | .mp3, .wav, .flac, .aac, .ogg, .m4a |
| 安装包 | .exe, .msi, .dmg, .apk, .app |
当用户请求整理文件时,首先确认目标文件夹路径:
用户:帮我整理下载文件夹
助手:好的,我来整理你的下载文件夹。请问是哪个路径?
- Windows: C:\Users\用户名\Downloads
- macOS: ~/Downloads
或者你可以提供具体路径。
使用以下命令扫描文件夹内容(Windows PowerShell):
# 获取所有文件(不含子目录)
Get-ChildItem -Path "目标路径" -File | Select-Object Name, Extension
统计各类文件数量,向用户展示分类计划:
扫描完成,发现以下文件:
- 文档: 15 个 (.pdf, .docx, .txt)
- 图片: 8 个 (.jpg, .png)
- 代码: 3 个 (.py)
- 压缩包: 5 个 (.zip, .rar)
- 其他: 2 个
计划创建以下子文件夹并移动文件:
- 文档/
- 图片/
- 代码/
- 压缩包/
- 其他/
是否继续?(用户确认后执行)
# 创建分类文件夹
$categories = @("文档", "图片", "代码", "压缩包", "视频", "音频", "安装包", "其他")
foreach ($cat in $categories) {
$folder = Join-Path $targetPath $cat
if (-not (Test-Path $folder)) {
New-Item -ItemType Directory -Path $folder | Out-Null
}
}
# 定义扩展名映射
$extMap = @{
".doc"="文档"; ".docx"="文档"; ".pdf"="文档"; ".txt"="文档"; ".md"="文档"
".ppt"="文档"; ".pptx"="文档"; ".xls"="文档"; ".xlsx"="文档"; ".csv"="文档"
".jpg"="图片"; ".jpeg"="图片"; ".png"="图片"; ".gif"="图片"; ".svg"="图片"
".js"="代码"; ".py"="代码"; ".html"="代码"; ".css"="代码"; ".ts"="代码"
".zip"="压缩包"; ".rar"="压缩包"; ".7z"="压缩包"; ".tar"="压缩包"; ".gz"="压缩包"
".mp4"="视频"; ".avi"="视频"; ".mov"="视频"; ".mkv"="视频"
".mp3"="音频"; ".wav"="音频"; ".flac"="音频"
".exe"="安装包"; ".msi"="安装包"; ".apk"="安装包"
}
# 移动文件
Get-ChildItem -Path $targetPath -File | ForEach-Object {
$ext = $_.Extension.ToLower()
$category = if ($extMap.ContainsKey($ext)) { $extMap[$ext] } else { "其他" }
$dest = Join-Path $targetPath $category
Move-Item -Path $_.FullName -Destination $dest -Force
Write-Output "移动: $($_.Name) -> $category/"
}
整理完成!
- 移动文件: 33 个
- 创建文件夹: 5 个
- 跳过文件夹: 已存在的不移动
整理后的文件夹结构:
目标文件夹/
├── 文档/
├── 图片/
├── 代码/
├── 压缩包/
└── 其他/
用户可以指定自定义分类:
用户:把 Downloads 里的文件按月份整理
助手:好的,我会按文件的修改日期创建月份文件夹(如 2024-01、2024-02)并分类。
用户:帮我整理一下 D:\Downloads 文件夹
助手:好的,正在扫描 D:\Downloads...
发现 47 个文件,包括文档、图片、压缩包等类型。
计划创建:文档/ 图片/ 压缩包/ 视频/ 其他/
确认执行吗?
用户:好的
助手:开始整理...(执行移动操作)
完成!已整理 47 个文件到 5 个分类文件夹中。
共 1 个版本