Hallo zusammen,
leider bin ich im Skripting nicht so bewandert, habe mir aber selber schon einige Komponenten zusammen gesucht, die einzeln funktionieren. Jetzt muss es noch als ganzes funktionieren. Folgende Ausgangssituation:
Es existiert ein Ordnerpfad E:\Kunden\Kundendaten, in diesem Ordner befinden sich hunderte Unterordner benannt nach den jeweiligen Kundennamen. In diesen Kundenordnern wiederrum befinden sich weitere Unterordner. In diesen weiteren Unterordnern soll jeweils nach den Ordner Druckdaten gesucht werden. Alle darin befindlichen Daten, deren Write-Datum älter als 5 Jahre sind, sollen gelöscht werden. Creation und Last-Access-Time funktionieren leider nicht aufgrund einer Fileserver-Migration im Oktober 2019.
Bis jetzt habe ich leider keine allumfassende Lösung gefunden, wie ich alle Parameter ausgehend von E:\Kunden\Kundendaten in ein Skript bekomme.
Mit Powershell hab ich bisher folgendes zusammengesammelt. Remove-item oder ähnliches habe ich bisher noch weggelassen:
(Alternativen wie Delage oder Robocopy scheitern leider am Filtern nach dem Unterordner)
Hier ist das Problem, dass auch auf die Files der Filter Druckdaten angewandt wird. Wenn ich den Parameter -directory setze, sucht er natürlich gar nicht mehr nach Files.
$Daysback = "-1825"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem -path E:\Kunden\Kundendaten -Include 'Druckdaten' -Recurse -force | Where-Object { $_.LastWriteTime -lt $DatetoDelete }
Dreh ich das ganze um und suche erst nach den Files, weiß ich leider nicht, wie ich noch nach dem Unterordner filtern kann:
$Daysback = "-1825"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem -path E:\AllAboutCards\Kunden\Kundendaten -file -Recurse -force | Where-Object { $_.LastWriteTime -lt $DatetoDelete }
Vielleicht hat jemand eine Lösung für mein Dilemma.
Danke und viele Grüße
Syagrius
leider bin ich im Skripting nicht so bewandert, habe mir aber selber schon einige Komponenten zusammen gesucht, die einzeln funktionieren. Jetzt muss es noch als ganzes funktionieren. Folgende Ausgangssituation:
Es existiert ein Ordnerpfad E:\Kunden\Kundendaten, in diesem Ordner befinden sich hunderte Unterordner benannt nach den jeweiligen Kundennamen. In diesen Kundenordnern wiederrum befinden sich weitere Unterordner. In diesen weiteren Unterordnern soll jeweils nach den Ordner Druckdaten gesucht werden. Alle darin befindlichen Daten, deren Write-Datum älter als 5 Jahre sind, sollen gelöscht werden. Creation und Last-Access-Time funktionieren leider nicht aufgrund einer Fileserver-Migration im Oktober 2019.
Bis jetzt habe ich leider keine allumfassende Lösung gefunden, wie ich alle Parameter ausgehend von E:\Kunden\Kundendaten in ein Skript bekomme.
Mit Powershell hab ich bisher folgendes zusammengesammelt. Remove-item oder ähnliches habe ich bisher noch weggelassen:
(Alternativen wie Delage oder Robocopy scheitern leider am Filtern nach dem Unterordner)
Hier ist das Problem, dass auch auf die Files der Filter Druckdaten angewandt wird. Wenn ich den Parameter -directory setze, sucht er natürlich gar nicht mehr nach Files.
$Daysback = "-1825"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem -path E:\Kunden\Kundendaten -Include 'Druckdaten' -Recurse -force | Where-Object { $_.LastWriteTime -lt $DatetoDelete }
Dreh ich das ganze um und suche erst nach den Files, weiß ich leider nicht, wie ich noch nach dem Unterordner filtern kann:
$Daysback = "-1825"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem -path E:\AllAboutCards\Kunden\Kundendaten -file -Recurse -force | Where-Object { $_.LastWriteTime -lt $DatetoDelete }
Vielleicht hat jemand eine Lösung für mein Dilemma.
Danke und viele Grüße
Syagrius