Jump to content

PowerShell, Verzeichnisse löschen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...