Zwiefie 10 Geschrieben 18. August 2012 Melden Teilen Geschrieben 18. August 2012 Hi, nachdem ich dachte, dass ich mit der PS einigermaßen zurechtkomme, habe ich mir gerade restlos alles gelöscht, was nicht gelöscht werden sollte :( Ich hoffe, Ihr könnte mir helfen :) Folgendes Szenarium: Als Backup exportiere ich mit der PowerShell jeden Samstag meine VMs in einen Ordner mit dem Namen yyMMdd. Dieser selber ist in dem Ordner Exports_VM Heute habe ich also in Exports_VM den neuen Ordner 120818 erzeugt. In diesem wiederum die Ordner VM_01, VM_02, usw. jeweils mit dem Export der entsprechenden VM. Die Exports der Vorwoche zippe ich dann in den jeweiligen Wochenordner. Also habe ich heute im Ordner 120811 die Zipp-Dateien VM_01.zip, VM_02.zip usw erzeugt. Soweit funzte alles prima :) Nun zuerst ein kleines, dann ein ganz großes Problem. 1. will ich alle Ordner löschen, die älter als vier Wochen sind. Ich hoffe, das funzt mit: get-childitem | Where-Object {$_.PSisContainer -eq $true} | Where-Object {$_.creationtime -lt (get-date).adddays(-27)} | Remove-Item -confirm:$false -recurse Weiß ich aber noch nicht, weil ich noch keine so alten Ordner habe. Lieber würde ich mich auf den Ordnernamen beziehen, hier 120721, weiß aber nicht wie :( 2) möchte ich in dem Ordner der Vorwoche, heute 120811, nachdem ich die Unterordner gezippt habe alle Unterordner löschen. Der Hauptordner selber mit den Zipdateien soll aber natürlich noch drei Wochen stehen bleiben. Nun, bei dem Versuch nur die Unterordner zu löschen habe ich mir gerade restlos alles gelöscht, was im übergeordneten Ordner Exports_VM war :(( Wie muss dieser Code aussehen? Vielen Dank, Paul Zitieren Link zu diesem Kommentar
Zwiefie 10 Geschrieben 18. August 2012 Autor Melden Teilen Geschrieben 18. August 2012 Sorry, ich habe zu früh aufgegeben. Trotzdem wäre ich für jeden weiteren Tipp dankbar, entweder, weil ich immer noch auf dem Holzweg bin, oder weil es besser, oder sicherer ginge. Auch zu Punkt 1 Meine Lösung zu 2: Set-Location \\adibackup\backup\_test $date = get-date –format "yyMMdd" $date = $date-7 get-ChildItem .\$date | Where-Object {$_.PSisContainer -eq $true} | Remove-Item -confirm:$false -recurse Danke, Paul Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.