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

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

Link zu diesem Kommentar

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

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...