windows 11 中可通过五种方法实现文件夹自动归档:一、部署 python 脚本按类型分类;二、启用 storage sense 定期清理旧文件;三、用 powershell 按时间戳创建年/月子目录;四、配置任务计划程序定时执行脚本;五、修改注册表强制桌面图标自动排列。

如果您希望 Windows 11 中的特定文件夹(如下载、文档等)在新增文件后自动按类型、日期或大小归类至子目录,则需借助系统内置功能与脚本工具协同实现。以下是实现文件夹自动归档整理的具体操作路径:
一、部署 Python 自动化整理脚本(推荐自定义逻辑)
该方法通过可编辑的 Python 脚本实现高度灵活的归档规则,支持按扩展名、修改时间、文件大小阈值等条件分类迁移,适用于有基础编程需求且追求长期免干预的用户。
1、新建纯文本文件,将以下代码完整复制并保存为 organize_downloads.py:
import os
import shutil
from pathlib import Path
DOWNLOADS = Path.home() / "Downloads"
DESTINATIONS = {
"Images": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".webp"],
"Documents": [".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".txt", ".rtf"],
"Installers": [".exe", ".msi", ".appx", ".deb", ".rpm"],
"Archives": [".zip", ".rar", ".7z", ".tar", ".gz", ".bz2"],
"Videos": [".mp4", ".mkv", ".avi", ".mov", ".wmv"],
"Others": []
}
def move_file(file_path):
suffix = file_path.suffix.lower()
for folder, extensions in DESTINATIONS.items():
if suffix in extensions or (not extensions and folder == "Others"):
dest = DOWNLOADS / folder
dest.mkdir(exist_ok=True)
shutil.move(str(file_path), str(dest / file_path.name))
return
if __name__ == "__main__":
for item in DOWNLOADS.iterdir():
if item.is_file() and item.name != "organize_downloads.py":
move_file(item)
2、将该脚本文件放置于 C:\Users\用户名\Downloads 根目录下。
3、以管理员身份运行 PowerShell,执行命令:python .\organize_downloads.py。
4、脚本运行完成后,Downloads 文件夹内将自动生成 Images、Documents、Installers 等子目录,并将对应类型文件迁移归档。
二、启用 Storage Sense 并配置“自动用户内容清除”
Storage Sense 是 Windows 11 原生服务,虽不直接执行归档,但可通过定期清理旧文件为归档流程腾出空间,并配合第三方工具形成闭环管理;其“下载文件夹中的文件”选项可设定保留天数,间接保障归档目录的洁净度。
1、按下 Win + I 打开设置 → 系统 → 存储 → 存储感知。
2、开启“存储感知”开关,并点击“配置存储感知或立即运行”。
3、在“运行存储感知”中选择 每天 执行频率。
4、在“自动用户内容清除”区域,将“下载文件夹中的文件”设为 14 天后删除。
5、点击“立即运行存储感知”,系统将即时扫描并移除超期文件。
三、使用 PowerShell 批量重命名与归档(基于时间戳)
该方法不依赖外部脚本,仅用系统内置 PowerShell 即可按最后修改日期创建年/月子目录,并将文件移动其中,适合需要按时间维度组织历史资料的场景。
1、打开 Downloads 文件夹,在地址栏输入 powershell 后按回车,启动当前路径下的 PowerShell。
2、执行以下命令创建按年份归档的目录结构:Get-ChildItem -File | ForEach-Object { $year = $_.LastWriteTime.ToString('yyyy'); New-Item -ItemType Directory -Path "$year" -ErrorAction SilentlyContinue }。
3、执行归档命令:Get-ChildItem -File | ForEach-Object { $year = $_.LastWriteTime.ToString('yyyy'); Move-Item $_.FullName "$year\$($_.Name)" }。
4、若需进一步按月细分,将 'yyyy' 替换为 'yyyy-MM' 并重复执行上述步骤。
四、配置任务计划程序定时触发归档脚本
为实现真正意义上的“自动”归档,需将前述 Python 或 PowerShell 脚本绑定至系统级计划任务,使其在指定时间静默运行,无需人工干预,确保归档行为持续生效。
1、右键“开始”按钮 → 选择“计算机管理” → 展开“任务计划程序”→“任务计划程序库”。
2、右侧点击“创建基本任务”,命名为 AutoOrganize-Downloads,设置触发器为每天上午9:00。
3、操作类型选择“启动程序”,程序路径填写 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,参数栏输入:-ExecutionPolicy Bypass -File "C:\Users\用户名\Downloads\organize_downloads.ps1"。
4、完成创建后,右键该任务 → “属性”,勾选“不管用户是否登录都要运行”及“不存储密码”。
5、将步骤三中的 PowerShell 归档命令另存为 organize_downloads.ps1,置于 Downloads 目录下。
五、注册表强制启用桌面图标自动排列以辅助视觉归档
当归档脚本生成大量子文件夹时,桌面快捷方式或资源管理器书签栏图标易混乱;通过注册表固化自动排列策略,可确保所有归档入口图标始终按名称有序对齐,提升视觉管理效率。
1、同时按下 Win + R 键,输入 regedit 并回车。
2、导航至路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU。
3、在该路径下右键 → 新建 → 项,命名为 DesktopIconLayout。
4、在 DesktopIconLayout 项内右键 → 新建 → 字符串值,命名为 AutoArrange。
5、双击 AutoArrange,将其“数值数据”设为 1。
6、注销当前账户并重新登录,使设置完全载入。











