我创建了一个脚本,它允许我搜索并忽略Remove-Item
语句中的目录,并且脚本工作,但不一定达到我需要的程度它来。
Get-ChildItem -Path $Path |
Where-Object {
($_.LastAccessTime -lt $Limit) -and
-not ($_.PSIsContainer -eq $True -and $_.Name -contains ("2013","2014","2015"))
} | Remove-Item -Force -Recurse -WhatIf
目前,此脚本查找和删除
- 没有被给定的时间内访问过的所有对象
但我需要这个脚本做的是找到并删除所有对象
- 在给定时间段内未访问并且
- 排除包含名称“2013”,“2014”或“2015”的目录。
我并不认为脚本“工作不正常”,但我的问题的观点是这样的:
怎样编程这个脚本在目录名称查找第一和那么上次访问日期?我不知道在哪里以及如何告诉这个脚本$_.Name
需要优先于$_.LastAccessTime -lt $Limit
。
我想一种方法是只有两个不同的地方管道。像这样:'Where-Object {!($ _。PSIsContainer -eq $ True - and $ _。Name -contains(“2013”,“2014”,“2015”))} | Where-Object {($ _。LastAccessTime -lt $ Limit)}' – AutomatedOrder
谢谢。我尝试了这一点,它似乎做了完全相同的事情,但这可能是因为@Ansgar提到的。 –