Script, das Dateien löscht, älter als 8 Tage in Verzeichnis

dominik_pizzo

Cadet 2nd Year
Registriert
Dez. 2013
Beiträge
30
Hi Leute,

vielleicht könnt Ihr mir helfen.

Ich versuche ein einfaches Script zu basteln, dass mir Dateien löscht, die älter als 8 Tage sind.
So weit so gut, das ist ja noch easy.

Doch die Verzeichnisstruktur ist kompliziert.

Hier mal eine Skizze:

Ordner_Vorname.Nachname -> Ordner_ANWENDUNG
Ordner_Vorname.Nachname -> Ordner_ANWENDUNG
Ordner_Vorname.Nachname -> Ordner_ANWENDUNG
Ordner_Vorname.Nachname -> Ordner_ANWENDUNG
.
.
.
(....172 mal das ganze)

Das Script soll dann im Ordner "Ordner_ANWENDUNG" die Dateien löschen die älter als 8 Tage sind.
 
Ich habe glaube ich veegessen zu erwähnen dass ich das mit Powershell oder über cmd also über ein .bat script lösen möchte. Ist eine Windows umgebeung
 
Klar, Dateien die älter als 8 Tage alt sind kann man ja einfach per Robocopy löschen lassen.

Zur Ordnerstruktur:
Ist der Ordner Ordner_ANWENDUNG vom Namen her in jedem der Ordner Ordner_Vorname.Nachname gleich?
Willst du in diesem Ordner jegliche Dateien, die älter als 8 Tage sind, löschen oder nur mit einer bestimmten Endung? Bzw. befinden sich in den Ordnern allerlei Dateien oder nur eine bestimmte "Sorte" von Dateien?

Die Ordner Vorname.Nachname unterscheiden sich vom Namen nehme ich an?
Also:
Ordner_User.1
Ordner_User.2
usw.. ?
 
Hallo Zusammen,

für solche Fälle verwende ich das Tool von der Seite
http://www.horstmuc.de/wbat32d.htm

Das Tool gibt es in der 32-Bit/ als auch in der 64-Bit/Version. Eingebunden in eine CMD/BAT oder Power-Shell und mit den richtigen Parametern/Optionen versehen erfüllt es meiner Ansicht nach alle Wünsche.

Noch einen schönen Tag.
 
dominik_pizzo schrieb:
Ich habe glaube ich veegessen zu erwähnen dass ich das mit Powershell oder über cmd also über ein .bat script lösen möchte. Ist eine Windows umgebeung

Ohne volles Beispiel mit Beispeildaten kann man dir das nicht pauschal beantworten.

Grob:


$ordner= der ordner der betroffen ist
$timeperiode = 8

$tmp = ls $ordner -Recurse

$workfolder = $tmp | Where-Object {$_.name -like '*_Anwendung'}


$workfolder | where { $_.LastWriteTime -lt (Get-Date).AddDays(-$timperiode)} | rm -recurse
 
Zurück
Oben