Я пытаюсь удалить некоторые файлы старше X дней из пользовательских каталогов, поэтому я использую Loop, чтобы просмотреть все домашние диски и нацеливаясь на одну папку, которая мне нужна, чтобы удалить вложенные файлы и подкаталоги старше, чемуказанные дни.В моем сценарии я использую (Get-Date).AddMinutes(-5)
, поэтому я могу проверить его, затем я изменю его на (Get-Date).AddDays(-60)
.
Я выполнил сценарий, который делает то, что должно быть результатом, а не то, что янадеюсь, поэтому, похоже, у меня неправильный код и т. д. Я проверял везде, но не смог найти решение, на которое надеялся.
$mins = (Get-Date).AddMinutes(-5)
$path = "D:\Chrome\User Data"
foreach ($i in $path) {
Get-ChildItem -Path $i -Recurse |
Where-Object { $_.CreationTime -lt $mins } |
$i = $_.FullName + "\*\js" + "\*"
Remove-Item $path -Recurse -WhatIf
}
Я думаю, что не понял циклпроцесс, похоже, он проходит через все конкретные каталоги и удаляет файлы старше 5 минут.Буду признателен за любую помощь.
$mins = (Get-Date).AddMinutes(-5)
$path = "D:\Chrome\User Data"
Get-ChildItem -Path $path -Recurse | Where-Object {$_.CreationTime -lt $mins} |ForEach-Object {
$path = $_.FullName + "\*\js" + "\*"
Remove-Item $path -Recurse -WhatIf
}
Я изменил скрипт, который делает то, что он должен, но все же я не могу получить файлы старше, чем 5 минут.