我創建了一個腳本,它允許我搜索並忽略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提到的。 –