TheSwobo 0 Geschrieben 24. Januar 2014 Melden Teilen Geschrieben 24. Januar 2014 Hey,ich probiere einen Ordner mit Backupdateien anhand des Namens der Datei zu löschen.Das ganze sieht bis jetzt wie folgt aus: cd D:\Datapool\Backup if ("Datapool2013-12-26-01-00-12.mdb" -lt "Datapool2014-01-24-07-39-09.mdb") { Remove-Item } Diese Idee ist leider noch nicht ganz durchdacht weil ich noch Anfänger im Bereich des Programmieren in Powershell bin...Hat wer eine Idee die mir weiterhelfen könnte... :)Danke Zitieren Link zu diesem Kommentar
4077 30 Geschrieben 24. Januar 2014 Melden Teilen Geschrieben 24. Januar 2014 Kannst Du konretisieren, was Du genau möchtest? Das commandlet remove-item hat schon mal die Option "-Path" dabei. (siehe get-help remove-item) ;-) Zitieren Link zu diesem Kommentar
TheSwobo 0 Geschrieben 24. Januar 2014 Autor Melden Teilen Geschrieben 24. Januar 2014 Na klar entschuldige wenn das ein bisschen zu Allgemein war :)Bin jetzt schon so weit das es jetzt ziemlich anders aussieht...Es soll halt eine Datei Gebackuped werden. Das läuft auch schon. Davor soll aber in den Backup Ordner geguckt werden, welche Dateien älter als 30 tage sind und dieses anhand des Timestamps im Dokument löschen.So SIeht es dann aus: param( [string]$file2save = "D:\Datapool\Datapool .mdb", [string]$savePath = "D:\Datapool\Backup\Datapool$timestamp.mdb", [string]$deleteBakAfterDays = (get-date -f yyyy-MM-dd-HH-mm-ss).adddays(-10), [string]$adddays = '.adddays(-10)' ) cls [ string]$timestamp = $(get-date -f yyyy-MM-dd-HH-mm-ss) #Anlegen der Variable Today zur bestimmung des Datums $Today = Get-Date -format d #Nimmt das Verzeichniss D:\Test und durchsucht es nach Daten, die älter als 30 Tage sind Get-Childitem "D:\Produktionsstoerungen\Backup" -recurse | Where-Object {(Get-ChildItem -Name) -gt ("Datapool"+$timestamp)}| Remove-Item Get-Childitem "D:\Produktionsstoerungen\Backup" -recurse | Where-Object {(Get-name -gt $deleteBakAfterDays} | Remove-Item #Kopiert von D:\Explorer.ps1 die Datei nach D:\Test\Explorer und vergibt ein Timestamp $savePath #Kopiert die Powershelldatei und ändert das Änderungsdatum aufs die aktuelle Zeit. $file = copy-item $file2save $savePath $date = Get-ChildItem $savePath $date.LastWriteTime = (Get-Date) Ich hoffe das ich jetzt nicht noch mehr verwirrt habe. Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 24. Januar 2014 Melden Teilen Geschrieben 24. Januar 2014 Na klar entschuldige wenn das ein bisschen zu Allgemein war :) Bin jetzt schon so weit das es jetzt ziemlich anders aussieht... Es soll halt eine Datei Gebackuped werden. Das läuft auch schon. Davor soll aber in den Backup Ordner geguckt werden, welche Dateien älter als 30 tage sind und dieses anhand des Timestamps im Dokument löschen. Wieso so kompliziert? Get-ChildItem $env:temp | ? { $_.LastAccessTime -lt ((get-date).adddays(-30)) } | remove-item 1 Zitieren Link zu diesem Kommentar
TheSwobo 0 Geschrieben 27. Januar 2014 Autor Melden Teilen Geschrieben 27. Januar 2014 Danke das war der richtig Ansatz :) 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.