Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 4564 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateien (keine Ordner) löschen die älter sind als (4)

Frage von siziigilendirmez zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell: Dateien nach Version löschen in mehreren Ordnern (4)

Frage von ImmerKind zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien mit Powershell löschen und nur leere (symbolische) Datei hinterlassen (6)

Frage von evolution zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...