Windows 中如何编写 PowerShell脚本 定时清理回收站并限制大文件占用

落伟大大_3228

落伟大大_3228

2026-08-29

878人浏览

原创

powershell可通过shell.application com对象筛选回收站中小于指定大小(如50mb)的文件并永久删除,跳过大文件,但无法获取原始路径或精确时间,仅支持逻辑大小粗略过滤,操作不可逆需谨慎测试。

在 windows 中,powershell 脚本可以自动清理回收站,并通过筛选条件避免误删重要大文件(比如保留大于 100mb 的文件不删),但需注意:回收站本身不支持“按大小过滤后单独删除部分项目”——系统级回收站是整体清空或保留机制。因此实际可行方案是:先识别回收站中满足“小文件”条件的项,再安全移除它们,同时跳过指定大小以上的文件。

一、理解回收站的 PowerShell 操作限制

PowerShell 无法直接遍历 Recycle Bin 的详细文件列表(如文件名、大小、原始路径)并逐个判断删除,这是 Windows Shell API 的设计限制。但可通过 Shell.Application COM 对象间接访问,配合 Size 属性做粗略筛选:

  • 该方式依赖 Explorer 进程,脚本需以普通用户权限运行(非管理员);
  • 返回的 Size 是“逻辑大小”,对压缩/稀疏文件可能不准,但对常规文件有效;
  • 不能获取原始路径或修改时间,仅适用于“按大小快速清理”场景。

二、编写带大小过滤的回收站清理脚本

以下脚本会清空回收站中 小于指定阈值(如 50MB) 的所有项目,大于等于该值的保留不动:

# Clean-RecycleBin-Safe.ps1
$MaxSizeBytes = 50MB  # 可改为你想要的阈值,例如 100MB → 100MB
<p>$shell = New-Object -ComObject Shell.Application
$recycleBin = $shell.Namespace(0xA)  # 0xA = recycle bin namespace</p><h1>获取所有回收站项</h1><p>$items = $recycleBin.Items()</p><h1>筛选并删除小文件</h1><p>$items | ForEach-Object {
$size = if ($<em>.Size -match '^\d+$') { [int64]$</em>.Size } else { 0 }
if ($size -lt $MaxSizeBytes) {
try {
$<em>.InvokeVerb("delete")  # 触发右键删除(即永久删除)
} catch {
Write-Warning "跳过无法删除项:$($</em>.Name)"
}
}
}
</p>

⚠ 注意:此操作不可逆,请先测试(可临时把 $_.InvokeVerb("delete") 替换为 Write-Host "将删除: $($_.Name) - 大小: $size" 预览效果)。

Genesis
Genesis

Genesis是一款面向机器人、具身智能和物理 AI 研究的仿真与数据生成平台。

下载

三、设置定时任务自动运行

用任务计划程序让脚本每天凌晨执行:

  • 保存脚本为 C:\Scripts\Clean-RecycleBin-Safe.ps1;
  • 以管理员身份打开“任务计划程序”,创建基本任务;
  • 触发器设为每日指定时间;
  • 操作选择“启动程序”,程序填 powershell.exe,参数填:
    -ExecutionPolicy Bypass -File "C:\Scripts\Clean-RecycleBin-Safe.ps1";
  • 勾选“不管用户是否登录都要运行”,并启用“不存储密码时只限于运行已加密的脚本”(若需后台静默运行)。

四、增强安全性与日志记录(可选)

添加简单日志便于排查:

$logPath = "C:\Logs\RecycleBin-Cleanup.log"
"[$(Get-Date)] 开始清理..." | Add-Content $logPath
# …(中间删除逻辑)…
"[$(Get-Date)] 清理完成,共处理 $($items.Count) 项。" | Add-Content $logPath

建议搭配磁盘空间监控(如 Get-PSDrive C | Select-Object Used,Free)在日志中记录剩余空间,更直观评估效果。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

880

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2652

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

896

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

789

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2396

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4412

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

727

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚观shell视频教程
尚观shell视频教程

共8课时 | 1.9万人学习

Linux开发视频教程
Linux开发视频教程

共18课时 | 4.6万人学习

Perl 入门教程
Perl 入门教程

共29课时 | 31.2万人学习