Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Alte Dateien u. Unterordner in Ordnerstruktur automatisch entfernen

Frage Microsoft Windows Tools

Mitglied: novae7

novae7 (Level 1) - Jetzt verbinden

09.07.2009, aktualisiert 18.10.2012, 12559 Aufrufe, 6 Kommentare

Hi,
Es geht ums Löschen von alten Sachen in vielen Unterordnern ;)

Hiho,

ich hab da ein kleines großes Problemchen ;)

Ich fass es mal kurz


Ich hab auf einem Fileserver nen Share liegen dieser wird als Austauschordner für die Einzelnen Abteilungen bei uns Verwendet

P:\[Gebäude]\[Abteilung]\[Username]\[ne menge krempel inklusive vieler ordner]

Nun soll ich ein Script oder Programm besorgen -.- welches alles unter [Username] älter als 14 Tage löscht

Mein erster Vorschlag war Delage32 auf P:\ direkt mit 14 Tage laufen zu lassen (dadurch würde alles alte verschwinden)
dabei bleiben aber alle Ordner erhalten.

Auch die die in den Posteingängen von der Person selbst sind.
Diese sollen aber mit Verschwinden.

Ordner löschen kommt bei P:\ direkt nicht in frage da die Ordnerstruktur so erhalten bleiben Soll.
Also wäre nurnoch die möglichkeit für jeden Nutzer einzeln einen Eintrag zu machen für seinen Ordner... und dann alte Datein inklusive Unterordner löschen...

Wären dann ca 450 User.....
Das mir das zuviel ist sollte verständlich sein ;)


Nun die Frage(n):

Kennt noch jemand eine Alternative wo ich angeben kann ab welcher Ordnertiefe er Ordner löschen soll die älter als X sind?
(anderes Programm, VBS o.ä.)
Oder lässt sich das eventuel doch mit Delage32 machen und nem Script das die Ordner durchgeht?


OS ist W2k3s mit NTFS


Danke im Vorraus
(hoffe das ist inhaltlich verständlich ;)
Mitglied: 80220
09.07.2009 um 10:51 Uhr
Funktioniert die Suchfunktion bei dir nicht?

Dann probiere es mal hiermit:
http://www.administrator.de/index.php?query=Dateien+l%C3%B6schen+Datum& ...
Bitte warten ..
Mitglied: novae7
09.07.2009 um 11:15 Uhr
Doch die Funktioniert

Das doofe ist nur das ich Delage32 ja schon ausprobiert habe und es soweit auch funktioniert!

Nur bleiben Leere Ordner übrig!

Die will ich auch weg haben allerdings erst ab einer bestimmten ordner TIEFE und darauf bezog sichd as problem

Und für jeden Nutzer nen einzelnes Löschscript schreiben find ich wie gesagt sehr umständlich...
Darum ja die Frage hier
Bitte warten ..
Mitglied: mexx
09.07.2009 um 11:20 Uhr
Ich werde bestimmt noch gebannt, weil ich ständig die Powershell von Microsoft lobe, aber damit kannst Du ein Script schreiben, welches Deine Aufgabe erfüllt.

Zuerst müsste das Script eine rekursive Suche des Ordners vornehmen. Dabei kannst Du zahlreiche Kriterien ansetzten, wie Deine 14 Tage. Selbst den Username kannst Du die Pfadsuche oder Filter einbringen. Ich vermute mal, dass Besitzrechte ein Thema sind. Kein Problem für die Powershell. Da kann man beim Zugriff auf den Ordner die Besitzinformationen mitliefern. Das Script kann dan prüfen, ob nach dem Löschen der alten Dateien noch Daten in den Ordner sind und wenn nicht dann kann der gesamte Ordner gelöscht werden.

Sowas ähnliches habe ich schon mit unseren Filesystem machen wollen. Hier mal der Code, der zum Einsatz kam. Vielleicht hilft er Dir. Aber sei vorsichtig damit!

01.
cls 
02.
write-host "--- BEGIN --- " -foregroundcolor GREEN -backgroundcolor BLACK 
03.
write-host "Setzte Variablen" -foregroundcolor GREEN -backgroundcolor BLACK 
04.
 
05.
#PRÜFPFAD 
06.
$CHKPATH = "D:\" 
07.
 
08.
#LOGFILES 
09.
$FEHLERFILE = "G:\fehler.txt" 
10.
$ERFOLGFILE = "G:\okay.txt" 
11.
 
12.
#PRÜFDATEI 
13.
$EXPFILE = "G:\export.txt" 
14.
 
15.
write-host "Schreibe Prüfdatei" -foregroundcolor GREEN -backgroundcolor BLACK 
16.
Get-ChildItem $CHKPATH -recurse | Where {$_.LastWriteTime -le "01.01.2008"} |Select-Object Name,Fullname,Length,Attributes,LastWriteTime |Export-CSV $EXPFILE –encoding "unicode" 
17.
 
18.
write-host "Lade Prüfdatei" $EXPFILE -foregroundcolor GREEN -backgroundcolor BLACK 
19.
$FILES = Import-CSV $EXPFILE 
20.
 
21.
write-host "Berechne Summe" $EXPFILE -foregroundcolor GREEN -backgroundcolor BLACK 
22.
$FILES |Measure-Object length -sum 
23.
 
24.
$MAX = $Files.count 
25.
$COUNTER = 0 
26.
 
27.
write-host "Starte Vorgang" $EXPFILE -foregroundcolor GREEN -backgroundcolor BLACK 
28.
foreach ($FILE in $FILES) 
29.
30.
  if ($FILE.Attributes -eq "Archive") 
31.
32.
    $COUNTER = $COUNTER + 1  
33.
    "Bearbeite " + $COUNTER + " von " + $MAX + ": " + $FILE.NAME   
34.
 
35.
    $DESTPATH = $file.fullname.split(":") 
36.
    $DESTPATH = "G:" + $DESTPATH[1]   
37.
 
38.
    $temp = $DESTPATH.TRIMEND($FILE.NAME) 
39.
    $temp = $temp.trimend("\") 
40.
 
41.
    write-host "Erzeuge Datei" $DESTPATH 
42.
    NEW-ITEM $temp -type directory -force 
43.
    COPY-ITEM $FILE.FULLNAME $DESTPATH -force 
44.
     if ($FILE.LENGTH -eq (GET-ITEM $DESTPATH).LENGTH) 
45.
46.
       write-host "ERFOLGREICH" -foregroundcolor GREEN -backgroundcolor BLACK 
47.
       $FILE.FULLNAME |OUT-FILE $ERFOLGFILE -append 
48.
      }ELSE 
49.
50.
       write-host "FEHLER" -foregroundcolor RED -backgroundcolor BLACK 
51.
       $FILE.FULLNAME |OUT-FILE $FEHLERFILE -append        
52.
      }   
53.
54.
55.
write-host "--- ENDE --- " -foregroundcolor GREEN -backgroundcolor BLACK
Bitte warten ..
Mitglied: novae7
09.07.2009 um 11:40 Uhr
Danke ;)

Das geht in die richtung über die ich selbst grad nachgedacht hab

wenn ich das richtig verstehe geht er an der stelle die verzeichnisse durch

Get-ChildItem $CHKPATH -recurse | Where {$_.LastWriteTime -le "01.01.2008"} |Select-Object Name,Fullname,Length,Attributes,LastWriteTime |Export-CSV $EXPFILE –encoding "unicode"

schreibt die in eine datei und arbeitet dann mit einer schleife alle ordner durch zum löschen?

das hilft mir schonmal weiter

Danke!
Bitte warten ..
Mitglied: novae7
09.07.2009, aktualisiert 18.10.2012
So problem mehr oder weniger gelöst ;)

aufgrund der rekursiven abfrage bin ich dann auf ne andere such idee gekommen..
da das probelm ja nur die leeren ordner waren einfach mal "leere ordner löschen" in die suche eingeben...

da gibts dann auch die lösungen ;)
http://www.administrator.de/forum/alte-dateien-l%c3%b6schen%2c-aber-nic ...



danke trotzdem an mexx für den denkanstoß



*und als gelöst makier*
Bitte warten ..
Mitglied: mexx
09.07.2009 um 12:01 Uhr
Richtig. Man müsste die Ergebnismenge nicht in eine Datei schreiben. Es geht auch mit einer Variable, aber ich halte es für transparenter und schneller, wenn die Datenmenge aus der Datei geladen wird. Wichtig ist das Select-Object. Bei zu vielen Dateieigenschaften in der CSV kann beim Laden der Exportdatei ein Memory-Fehler auftauchen. Dann wäre das Arbeiten ohne Datei sinnvoller. Bei unseren 6 Millionen Dateien war das zumindest der fall.

Schau Dir erstmal die Exportdatei an und sag bescheid, wie Du Dir die weitere Verarbeitung des Ergebnises vorstellst.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Datei: Alte Dateien in div. Unterordnern löschen
gelöst Frage von simonsaysBatch & Shell11 Kommentare

Hallo zusammen Ich habe einen Ordner "xxx" in diesem Ordner sind Unterordner "yyy" und "zzz" - xxx yyy zzz ...

Batch & Shell
Ordnerstruktur lesen, Dateien - Neue Ordnerstruktur
gelöst Frage von internet2107Batch & Shell7 Kommentare

Ich verzweifle etwas an folgender Sache. Ich habe eine vorgebene Ordnerstruktur, in der sich Dateien befinden. Diese Dateien sollen ...

Batch & Shell
Automatisches kopieren von Dateien aus verschiedenden Unterordnern.
Frage von michael1309Batch & Shell13 Kommentare

Hallo zusammen, vllt hat jemand von Euch eine Idee: Zum Problem, täglich werden auf einen FTP Server, Daten in ...

Batch & Shell
Batch Datei um alte Java Versionen zu entfernen ?
gelöst Frage von RevexesBatch & Shell7 Kommentare

Liebe Community, ich suche eine Batch Datei, um alte Java Versionen zu deinstallieren. Jedoch soll eine bestimmte Version erhalten ...

Neue Wissensbeiträge
Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 1 StundePerl1 Kommentar

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 2 StundenSicherheit

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 108 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless11 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Wieso kann ich den UPD 7000-9000 nicht freigeben?
Frage von Jayk0bRouter & Routing8 Kommentare

Router: Telekom W 723V Ports: UDP 7000-9000 Können nicht frei gegeben werden. Benutzgrund: Rocket League 7000 – 9000 UDP ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing8 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...