MatWob80 10 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Hey, ich bin gerade dabei etwas in Powershell zu coden. Ich möchte, das Ordner unter dem Pfad xy liegen, und älter als 3 Tage sind, das die gelöscht werden. desweiteren sollte das Script auch immer vom aktuellen Datum ausgehen. es soll so simpel wie möglich sein. Hier mein bisherigen Ergebnis: ls C:\Programme\*test* | where {(Get-Date) .AddDays(3))} | rm -recurse aber irgendwie funzt das nicht.
Dukel 468 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Wie soll das gehen. 1. Mit {(Get-Date) .AddDays(3))} bekommst du 3 Tage in der Zukunft heraus (außer dem Leerzeichen, welches zu viel ist). 2. Womit willst du oberes vergleichen? 3. Was willst du mit rm löschen? Hast du Powershell Erfahrungen? Mach erst einen Kurs oder lern dich ein.
MatWob80 10 Geschrieben 2. August 2011 Autor Melden Geschrieben 2. August 2011 Ja ich habe etwas Powershell Erfahrung. Also ich möchte wie hier bei Dateien get-childitem -path C:\test | where-object -filterscript {($_.lastwritetime -lt "2011-08.02")} | remove-item -force das ich mit dem Script, ls C:\Programme\*test* | where {(Get-Date) .AddDays(3))} | rm -recurse Ordner unter einen bestimmten Pfad, die älter als 3 Tage sind mit diesem Script gelöscht werden. Daher meine Frage was ich an dem Code mit ADd Days ändern muss, damit es funzt.
Dukel 468 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Fast alles musst du ändern. where {(Get-Date) .AddDays(3))} -> where { $_.LastWriteTime -lt (Get-Date).AddDays(-3))} rm -recurse -> % { rm $_.FullName -recurse }
HPrass 10 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Hallo, mit "-3" bekommst Du das Datum drei Tage vor dem aktuellen Datum: (Get-Date).AddDays(-3)
mamamia 13 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Hast du Powershell Erfahrungen? Mach erst einen Kurs oder lern dich ein. Ist das dein ernst? Geht man so mit Usern um, die eine Frage stellen?
Dukel 468 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Das war ein nett gemeinter Tipp, bevor da ein Script herauskommt das falsche Daten löscht und das Drama groß ist.
mamamia 13 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Okay, dann hab ich´s bloß falsch verstanden..
MatWob80 10 Geschrieben 2. August 2011 Autor Melden Geschrieben 2. August 2011 Also wenn ich ls C:\Test\*test* | where { $_.LastWriteTime -lt (Get-Date).AddDays(20)} | rm -recurse löscht er mir ja auch die von heute. Also optimal wäre es, wenn er ausgehend vom aktuellen Datum, alle Ordner in dem Pfad löscht, die älter oder gleich 20 tage sind.
mamamia 13 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Du musst -20 nehmen! Lass dir mal diese beiden Sachen ausgeben: (Get-Date).AddDays(20) (Get-Date).AddDays(-20)
Dukel 468 Geschrieben 2. August 2011 Melden Geschrieben 2. August 2011 Wie oft denn noch??? Adddays(-20) Add-Days(20) SIND 20 TAGE IN DER ZUKUNFT!
Dr.Melzer 191 Geschrieben 3. August 2011 Melden Geschrieben 3. August 2011 @Dukel: könntest du bitte die SCHREIEREI lassen!
Dukel 468 Geschrieben 3. August 2011 Melden Geschrieben 3. August 2011 Normalerweise schon (ist so viel ich weiß das erste mal hier), aber wenn man 3x auf den selben trivialen Fehler hinweist rutscht einem das schon mal heraus.
Dr.Melzer 191 Geschrieben 3. August 2011 Melden Geschrieben 3. August 2011 Das ist trotzdem kein Grund zu schreien. Wenn du das Gefühl hast dass der TO auf deine Hinweise nicht reagiert stelle den Support einfahc ein. Du kannst niemanden dazu zwingen supportet zu werden.
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden