gpt4 book ai didi

powershell - 使用powershell删除回收站中的旧文件

转载 作者:行者123 更新时间:2023-12-04 14:00:44 25 4
gpt4 key购买 nike

好的,我有一个在 powershell 中编写的脚本,它将删除回收站中的旧文件。我希望它从回收站中删除超过 2 天前删除的所有文件。我对此进行了大量研究,但没有找到合适的答案。

这是我到目前为止所拥有的(在网上找到了脚本,我对powershell了解不多):

$Path = 'C' + ':\$Recycle.Bin'
Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |
#Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-3) } |
Remove-Item -Recurse -exclude *.ini -ErrorAction SilentlyContinue

除了一个异常(exception),它运行良好,它检查文件参数“LastWriteTime”。如果用户在修改文件的同一天删除文件,那就太棒了。否则失败。

如何修改此代码,以便它检查文件何时被删除,而不是在写入时检查。

-附带说明,如果我从 Microsoft Server 2008 上的管理员帐户运行此脚本,它是否适用于所有用户的回收站或仅适用于我的回收站?

回答:

对我有用的代码是:
$Shell = New-Object -ComObject Shell.Application
$Global:Recycler = $Shell.NameSpace(0xa)

foreach($item in $Recycler.Items())
{
$DeletedDate = $Recycler.GetDetailsOf($item,2) -replace "\u200f|\u200e",""
$dtDeletedDate = get-date $DeletedDate
If($dtDeletedDate -lt (Get-Date).AddDays(-3))
{
Remove-Item -Path $item.Path -Confirm:$false -Force -Recurse
}#EndIF
}#EndForeach item

它对我来说很棒,但是还有两个问题......我如何使用多个驱动器来做到这一点?并且这适用于所有用户还是仅适用于我?

最佳答案

WMF 5 包括新的“Clear-RecycleBin”cmdlet。

PS > Clear-RecycleBin -DriveLetter C:\

关于powershell - 使用powershell删除回收站中的旧文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22816215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com