You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell 4中不使用大括号{}执行指定回收站清理命令

适配PowerShell 4的无大括号解决方案

没问题,针对你PowerShell 4的环境,我们可以利用PowerShell 3及以上引入的简化版Where-Object语法来避开大括号,同时精准筛选回收站中路径以C:\开头的文件并删除。

完整命令

$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.Namespace(0xA)
Remove-Item ($objFolder.Items() | Select-Object -ExpandProperty Path | Where-Object Path -like "C:\*") -Recurse -Confirm:$false

关键说明

  1. 替换带大括号的Where-Object:
    你原来的where-object { $_.path -like "C:\*" }被替换成了Where-Object Path -like "C:\*"——这是PowerShell 3+支持的简化语法,直接指定属性名、比较运算符和匹配值,完全不需要大括号,刚好适配你的PS4版本。
  2. 优化路径提取:
    用Select-Object -ExpandProperty Path替代原来的select path,可以直接提取出路径字符串,而不是包含Path属性的对象,让Remove-Item的参数更直接。
  3. 回收站访问逻辑:
    0xA是回收站的系统命名空间ID,通过Shell.Application COM对象可以直接访问回收站的内容,这是低版本PowerShell中可靠的回收站操作方式。

安全提示

回收站删除操作不可逆,建议你先测试筛选逻辑:把Remove-Item换成Write-Output,运行后确认输出的路径都是你想要删除的C盘来源文件,再执行删除命令。

内容的提问来源于stack exchange,提问作者Siva Thilak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:10:25