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

Alle Unterordner mit Dateien älter 200x löschen

Frage Entwicklung Batch & Shell

Mitglied: TBlinker

TBlinker (Level 1) - Jetzt verbinden

29.06.2012 um 12:29 Uhr, 4809 Aufrufe, 9 Kommentare

Ich möchte in einer recht verzweigten Ordnerstruktur alle Unterordner löschen, in denen alle enthaltenen Dateien älter als zb. 2007 sind (unser Netzlaufwerk soll mal aufgeräumt werden).

Ist das DOS Kommandos möglich (oder kennt gar jemand ein Tool dass das leistet)?


Vielen Dank
Mitglied: SlainteMhath
29.06.2012 um 13:17 Uhr
Moin,

schau mal hier: http://www.horstmuc.de/wbat32d.htm (via google in 10 sec )

lg,
Slainte
Bitte warten ..
Mitglied: DerWoWusste
29.06.2012 um 14:08 Uhr
Als "DOS-Kommando" (ist kein DOS, sondern ein Kommandozeilentool) gibt es seit Vista/Server2008 eingebaut forfiles.exe dafür. In der Syntax findest Du @isdir, um mit Ordnern umzuspringen.
Bitte warten ..
Mitglied: pieh-ejdsch
29.06.2012, aktualisiert um 22:59 Uhr
moin,

wie soll den forfiles die Ordner rausfinden, welche auch Jüngere und die alten Dateien hat?
Damit kenne ich mich aber zuwenig aus.

01.
@echo off 
02.
setlocal 
03.
set "Ordner=\\server\freigabe\" 
04.
 rem MM-TT-JJJJ 
05.
set "BehalteAb=01-01-2007" 
06.
 rem Laufwerk muss existent sein Ordner darf nicht. 
07.
set "TestcopyNach=D:\TEST\" 
08.
 
09.
 rem Ende Einstellungen 
10.
set "Alle=%temp%\Alleliste.lst" 
11.
set T="%temp%\alltmp.lst" 
12.
set "del=%temp%\del.lst" 
13.
 
14.
 rem Liste mit Unterordnern wird erzeugt. 
15.
(for /d /r "%Ordner%" %%i in (*) do @echo %%i\\)> "%Alle%" 
16.
 
17.
 rem Vergleich mit einer Liste welche neuere Dateien enthalten wuerde 
18.
 rem Rest kommt in Vorruebergehende Loeschliste 
19.
(for /f delims^= %%i in ('xcopy /l /s /D:%BehalteAb% "%ordner%*.*" "%TestcopyNach%"') do @find /v "%%~dpi\" "%Alle%") >%T% 
20.
 
21.
 rem Liste wird auf Rueckwarts sortiert nach Loeschliste 
22.
sort /r %t% > "%del%" 
23.
 
24.
 rem Odner der Löschliste werden auf eventuelle Unterordner welche neue Dateien enthalten geprueft oder geloescht 
25.
for /f usebackQdelims^= %%i in ("%del%") do dir /ad /b /s |find /v "" >nul || @echo rd /s "%%~fi"
[Edit]
Kommentare eingefügt
[/Edit]

Gruß Phil
Bitte warten ..
Mitglied: DerWoWusste
29.06.2012, aktualisiert 03.07.2012
Moin Phil.
Beispielsweise so (für 7 Tage):
01.
attrib -s -h c:\Test\*.* /D /S 
02.
forfiles /p c:\Test /d -7 /c "cmd /c del @file /q" /s 
03.
forfiles /p c:\Test /c "cmd /c if @isdir==TRUE rd @file /q" /s
Das haut natürlich auch Dateien in Ordnern weg, in denen auch neuere Dateien liegen - Du hast Recht, könnte unerwünscht sein.
Bitte warten ..
Mitglied: TsukiSan
29.06.2012 um 17:57 Uhr
Hallo TBlinker,

so wie es unsere Vorredner schon auf den Punkt gebracht haben und wie dein Wunsch ist, ist es momentan schwer, auf Ordnerbasis ganze Ordner zu löschen.
Wenn sich jüngere Dateien in einem Ordner befinden, welcher hauptsächlich "alte" Dateien beinhaltet, dann wird er ja nie gelöscht (bezugnehment auf deine Frage!)

Also, wie soll man sich das ganze vorstellen? Es gibt Ordner - meinetwegen auch Unterordner - die beinhalten Dateien. Wenn ein Jahr/Monat/Woche/Tag abgeschlossen ist/sind kommen dann noch neue Dateien dazu irgendwann mal?
Einfacher wird's wenn ein Ordner gelöscht werden soll, der mindestens eine Datei älteren Types (was vorher definiert wird!) beinhaltet. Aber dann wären ja auch neuere Dateien futsch.

Also Du siehst, deine Aufgabenstellung wirft Fragen auf. Realisieren lässt sich viel. Man muss es nur ganz klar definieren. Sonst geht's in die BadeHose

Gruss
Tsuki
Bitte warten ..
Mitglied: TBlinker
29.06.2012 um 19:18 Uhr
Hallo!


Sorry für die Kurzfassung, hier mal der (leicht vereinfachte) Hintergrund:

Wir haben ein paar Dutzend Projekte, die jeweils in einem Ordner abgelegt sind. Um Aufzuräumen/Speicherplatz zu sparen sollen alle Ordner in denen seit X Jahren nichts mehr passiert ist gelöscht werden. Also nur diejenigen, in denen alle Dateien älter als X sind.

Es gibt viele Ordner, in den aktuelle Dateien neben uralten Liegen (irgendwelche thematisch zugehörigen Grundlagendokumente zb.) diese sollen erhalten bleiben.


Ich hätte gar nicht gedacht, dass es so kompliziert ist, aber dann bin ich hier ja genau richtig ;)


Danke für eure Mühe!
Bitte warten ..
Mitglied: Lochkartenstanzer
29.06.2012 um 22:29 Uhr
N'Abend,

Auf welchem filesystem liegen denn die Daten?

Bei soltle das schauen nach dem "last-modifired-Datum" zumindest ein wenig weiterhelfen. Wenn das last-modified mehrere Jahre zurückliegt, sollten da auch keine neueren Dateien liegen.

Ich würde für so tewas daher find aus dem fundus von cygwin nehmen. (find.exe gibt es auch standalone).

lks
Bitte warten ..
Mitglied: pieh-ejdsch
29.06.2012, aktualisiert um 22:47 Uhr
Zitat von TBlinker:
... Also nur diejenigen, in denen alle Dateien älter als X sind.
Es gibt viele Ordner, in den aktuelle Dateien neben uralten Liegen (irgendwelche thematisch zugehörigen Grundlagendokumente zb.) diese sollen erhalten bleiben.
genau das kannst Du mit Diesem Batch auch erstmal gefahrlos Testen,
weil @echo zeigt was es täte wenn es nicht mehr dasteht.

Gruß Phil
Bitte warten ..
Mitglied: TBlinker
03.07.2012 um 15:58 Uhr
Zitat von pieh-ejdsch:
genau das kannst Du mit Diesem Batch auch erstmal gefahrlos Testen,
weil @echo zeigt was es täte wenn es nicht mehr dasteht.

Gruß Phil

Konnte es heute nicht ausprobieren, gebe aber die nächsten Tage Rückmeldung ...
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
Lösche Inhalt in bestimmten Unterordner wenn älter als
gelöst Frage von KnuefiBatch & Shell7 Kommentare

Hallo, ich benötige eure Hilfe. Ich habe unterstehendes Script, leider funktioniert es nicht. Es wird nichts gelöscht. Was habe ...

Batch & Shell
Unterordner die älter als x Minuten sind löschen
Frage von mobunsBatch & Shell5 Kommentare

Hallo zusammen, gibt es eine Möglichkeit Unterordner die älter x Minuten sind per CMD Task zu löschen ? Grüße

Batch & Shell
Dateien (keine Ordner) löschen die älter sind als
gelöst Frage von siziigilendirmezBatch & Shell4 Kommentare

Guten Morgen ich möchte gerne mit einer power Shell Dateien löschen die älter als 30 tage sind. Die Dateien ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 6 StundenBatch & Shell7 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 8 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...