Windows 10可通过组策略(专业版等)或PowerShell+任务计划程序(全版本)实现关机自动清理临时文件:前者需创建.bat脚本并绑定关机脚本,后者需创建.ps1脚本并配置高优先级关机任务,二者均能有效防止C盘空间被临时文件占满。

让Windows 10在每次关机前自动清空临时文件,可避免手动清理遗漏、防止C盘空间被悄悄占满,尤其适合长期不重启或经常运行大型安装包的用户。
通过组策略编辑器添加关机脚本
这是最直接、最可靠的关机自动清理方式,适用于专业版、企业版和教育版系统。家庭版用户请跳过此节,使用后续PowerShell方案。
第一步:按下 Win + R,输入 notepad 回车,打开记事本。
第二步:在记事本中粘贴以下两行命令(注意第二行开头有空格):
del /f /q "%TEMP%\*.*"
for /d %i in ("%TEMP%\*") do @rd /s /q "%i"
第三步:点击“文件→另存为”,在保存窗口中:
→ 将“保存类型”改为所有文件;
→ 文件名输入clear_temp_on_shutdown.bat(必须带.bat后缀);
→ 保存位置建议选桌面或C:\Scripts,方便后续定位。
第四步:再次按 Win + R,输入 gpedit.msc 回车,打开本地组策略编辑器。
【注意:若弹出“找不到文件”提示,说明你使用的是Win10家庭版,无法使用此方法】
第五步:依次展开左侧树状菜单:
计算机配置 → Windows设置 → 脚本(启动/关机)→ 关机
→ 在右侧双击“关机”,点击“添加”→“浏览”,找到刚才保存的 .bat 文件→点击“确定”两次完成绑定。
用PowerShell+任务计划程序实现关机前清理(全版本通用)
家庭版用户唯一可行的关机级清理方案。它绕过组策略限制,通过模拟“关机前最后一刻执行”的逻辑达成效果——实际是注册为高优先级关机任务,在系统终止服务前强制运行。
方法一:创建PowerShell清理脚本
1. 新建文本文档,重命名为 CleanTempOnShutdown.ps1(扩展名必须是.ps1);
2. 右键用记事本打开,粘贴以下内容:
Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:SystemRoot\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
3. 将该文件保存到固定路径,例如 C:\Scripts\CleanTempOnShutdown.ps1;
4. 按 Win + R 输入 taskschd.msc 回车,打开任务计划程序;
5. 右键“任务计划程序库”→“创建任务”,不是“基本任务”;
6. 在“常规”选项卡中:名称填“关机前清理Temp”,勾选“不管用户是否登录都要运行”和“不存储密码”;
7. 切换到“触发器”选项卡→“新建”→“开始任务”选择“在事件发生时”,下拉选“关机”→“设置”中勾选“仅当计算机空闲时才启动此任务”取消;
8. “操作”选项卡→“新建”→“启动程序”,程序填:powershell.exe,参数填:-ExecutionPolicy Bypass -File "C:\Scripts\CleanTempOnShutdown.ps1";
9. “条件”选项卡中:取消勾选“只有在计算机使用交流电源时才启动此任务”;
10. 点击“确定”,如提示需要权限,点击“是”。
验证关机清理是否生效
右键开始按钮→“关机或注销”→“重启”,不要直接长按电源键硬关机。
重启后立刻按下 Win + R,输入 %temp% 回车,观察文件夹内是否几乎为空(可能残留1–2个正在使用的文件,属正常现象)。
若发现仍有大量文件未被清除,检查脚本路径是否含中文或空格,【务必把.ps1或.bat文件移出桌面或文档等含同步功能的文件夹,OneDrive或WSL挂载路径会导致执行失败】。

















