Я создал скрипт, который позволяет мне искать и игнорировать каталоги с 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. –