Verzeichnis mit Inhalt größer 30 Tage löschen via PowerShell
Moin,
merkwürdigerweise kann ich bestimmte Verzeichnisse nicht löschen mit diesem Script :
Die "Write-Host" Ausgabe liefert den richtigen Pfad :
Deleting Nachname^Vorname1-Vorname1_29_06_2016_XX_text_Diät_XY_Text3
als $pfad - Ausgabe korrekterweise :
i:\Name_Server\Verzeichnis\1verzeichnis\2verzeichnis\Nachname^Vorname1-Vorname1_29_06_2016_XX_text_Diät_XY_Text3
allerdings diese Fehlermeldung (und auch keine Löschung) :
oder hat jemand eine elegantere Methode ?
merkwürdigerweise kann ich bestimmte Verzeichnisse nicht löschen mit diesem Script :
################### Verzeichnisse > 30 Tage löschen #########################
$Now = Get-Date
$Days = "31" # Alter der zu löschenden Verzeichnisse
$TargetFolder = "i:\Name_Server\Verzeichnis\1verzeichnis\2verzeichnis" # Verzeichnispfad
$LastWrite = $Now.AddDays(-$Days)
$Folders = get-childitem -path $TargetFolder |
Where {$_.psIsContainer -eq $true} |
Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($Folder in $Folders)
{
write-host "Lösche $Folder" -foregroundcolor "Red"
$pfad=$TargetFolder + "\" + $Folder
$pfad
Remove-Item $pfad -Recurse -Force -Confirm:$false
}
Die "Write-Host" Ausgabe liefert den richtigen Pfad :
Deleting Nachname^Vorname1-Vorname1_29_06_2016_XX_text_Diät_XY_Text3
als $pfad - Ausgabe korrekterweise :
i:\Name_Server\Verzeichnis\1verzeichnis\2verzeichnis\Nachname^Vorname1-Vorname1_29_06_2016_XX_text_Diät_XY_Text3
allerdings diese Fehlermeldung (und auch keine Löschung) :
Remove-Item : Der Zugriff auf die Clouddatei wurde verweigert
In Zeile:17 Zeichen:8
+ Remove-Item $pfad -Recurse -Force -Confirm:$false
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Remove-Item], Win32Exception
+ FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.RemoveItemCommand
oder hat jemand eine elegantere Methode ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1757025697
Url: https://administrator.de/contentid/1757025697
Ausgedruckt am: 17.11.2024 um 03:11 Uhr
6 Kommentare
Neuester Kommentar
Hi,
hier mal mein Script, macht das gleiche in einem Verzeichnis:
Der Benutzer der dann die Batch ausführt muss zwingend Zugriff auf das Verzeichnis haben
Gruß
hier mal mein Script, macht das gleiche in einem Verzeichnis:
# Alle Dateien, die Aelter 30 Tage sind werden geloescht.
Get-childitem C:\PATH\TO\FILES -recurse -file | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item
Der Benutzer der dann die Batch ausführt muss zwingend Zugriff auf das Verzeichnis haben
Gruß