У меня есть этот скрипт, который пытается удалить все папки старше 7 дней. Все папки расположены под конкретный каталог под названием «BackupPath»удалить объект каталога и его содержимое в powershell
Это сценарий:
$date=Get-Date -UFormat "%d-%m-%y"
$BackupPathday="C:\"+$env:computername+"GPOBackup\$date"
$BackupPath="C:\"+$env:computername+"GPOBackup"
if ((Test-Path $BackupPathday) -eq 0) {
New-Item -ItemType Directory -Force -Path $BackupPathday
}
else {
Write-Host "Today´s backup already exists"
}
$Folders=Get-ChildItem $BackupPath
foreach ($i in $Folders) {
$Days=((Get-Date) - $i.CreationTime).Days
#PSISContainer is true means that $i is a folder, ohterwise is a file
if ($Days -ge 7 -and $i.PsISContainer -eq $True) {
$i.Delete()
}
}
Когда я бегу, я получаю сообщение об ошибке:
Исключение призывающую «Удалить» с "0" аргумент (ы): "каталог не пустым." В C: \ Users \ х \ Desktop \ power.ps1: 18 символ: 14 + $ i.Delete < < < <() + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException Exception, вызывающий «Удалить» с аргументами «0»: «Каталог не пуст. " В C: \ Users \ х \ Desktop \ power.ps1: 18 символ: 14 + $ i.Delete < < < <() + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException
есть ли способ силы удаления этих папок и его содержание? Я не знаю, есть ли существующий метод, чтобы сделать это как I'm новый с помощью PowerShell.
Благодаря
я подумал о том, что до этого тоже и это делать esn't work: Remove-Item: Не удается найти путь 'C: \ Users \ x \ Desktop \ 26-09-15', потому что его не существует ... – miticoluis
К сожалению, он тоже не работает. Remove-Item: Невозможно связать аргумент с параметром «Путь», потому что он равен нулю. – miticoluis
Возможно, вам придется использовать 'GCI $ path -Recurse | Remove-Item' – user4317867