windows无内置热度感知跨磁盘迁移功能,需通过分层存放、主动归档和工具辅助实现:c盘仅装系统与程序,d盘设为高频工作区并重定向用户文件夹,e盘或网络位置存冷数据,结合存储感知清理闲置文件及powershell脚本按访问时间归档。
windows 系统本身不提供自动“热度感知”的跨磁盘文件迁移功能(例如像某些企业存储系统那样根据访问频率把热数据搬上ssd、冷数据移至hdd)。它没有内置的后台服务持续分析文件i/o频次并触发跨卷移动。所谓“热度迁移”在标准windows中需通过组合策略与手动/半自动手段实现,核心是分层存放 + 主动归档 + 工具辅助。
明确分区用途,从源头控制数据流向
这是最有效也最可控的方式。不是等文件变“热”再搬,而是按使用特征预先分配位置:
- C盘(系统盘)只放系统和程序:保持干净,禁用休眠、迁移页面文件、清理Windows.old,避免用户文档、下载、缓存长期驻留
- D盘(高速盘,如SSD)放高频工作区:将“桌面”“文档”“下载”等用户文件夹重定向至此;微信/QQ默认接收路径、浏览器下载目录、IDE项目根目录也手动设为D盘子文件夹
- E盘或网络位置(大容量盘)放归档与冷数据:媒体库(视频/音乐)、历史项目备份、扫描件、旧资料库等,定期手动或脚本归档过去
用存储感知+清理建议做周期性“降温”
Windows自带的存储感知虽不识别热度,但能识别“闲置时间”,可作为冷数据迁移的触发依据:
- 进入“设置 > 系统 > 存储 > 存储感知”,开启并配置“在以下天数未使用后删除临时文件”(建议设为30天)
- 点击“清理建议”,重点关注“很久未打开的文件”和“大型文件”,筛选出半年以上未访问的文档、安装包、日志等,批量移至E盘归档目录
- 配合PowerShell脚本可增强能力,例如:
Get-ChildItem D:\Work -Recurse | Where-Object {$_.LastAccessTime -lt (Get-Date).AddDays(-90)} | Move-Item -Destination E:\Archive\OldWork
借助OneDrive“按需文件”模拟轻量级热度调度
如果你使用OneDrive且开启了“Files On-Demand”,它会形成事实上的热度分层:
- 常用文件(频繁打开/编辑)保持本地完整副本,占用D盘空间
- 不常访问的文件仅保留云端占位符(小图标),双击时才下载,释放本地空间
- 将OneDrive主文件夹也重定向到D盘(而非默认C:\Users\…),避免C盘被占满;同时在OneDrive设置中关闭“自动同步所有文件”,只选同步高频子文件夹
进阶:用符号链接+计划任务做半自动归档
对特定目录(如日志、渲染输出),可建立软链接指向目标盘,并用定时任务执行归档逻辑:
- 例如,将
C:\App\Logs实际内容存于E:\ArchivedLogs\202605,然后用mklink /D C:\App\Logs E:\ArchivedLogs\202605创建链接 - 每月初运行批处理:新建当月目录、更新链接、压缩上月日志包并移走
- 注意:此法需应用支持路径重定向,部分老旧软件可能不兼容
本质上,Windows的存储管理策略是“人策先行”,系统只提供工具链,不替代判断。关键在于把“热度”转化为可操作的规则——比如“最近30天访问过”=热,“半年无修改”=冷,“大于1GB且非项目文件”=优先归档。按这个思路配置,比等待一个不存在的全自动热度引擎更可靠。











