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
GELÖST

Batch Datei: Alte Dateien in div. Unterordnern löschen

Frage Entwicklung Batch & Shell

Mitglied: simonsays

simonsays (Level 1) - Jetzt verbinden

31.07.2014 um 09:37 Uhr, 2290 Aufrufe, 11 Kommentare, 1 Danke

Hallo zusammen

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

In den Unterordnern liegen CSV-Dateien die immer mit einem gewissen Buchstaben z.B. "W10.csv" beginnen.

Genau diese Dateien in den Unterordnern, die älter als 30 Tage sind, möchte ich löschen. Alles andere in den Unterordnern soll nicht gelöscht werden.

Ideen?
Ich bin ein Batch-Nullinger

DANKE
Mitglied: codde1982
31.07.2014 um 10:52 Uhr
https://www.google.de/webhp?sourceid=chrome-instant&ion=1&espv=2 ...
Dieses Tool ist was das angeht unschlagbar und solltest du unbedingt bei deinen Standard-Tools aufbewahren.


Viele Grüße
Bitte warten ..
Mitglied: batchnewbie
LÖSUNG 31.07.2014, aktualisiert 13.08.2014
Hallo,
hier ist mein Vorschlag:
01.
@echo off 
02.
cls 
03.
 
04.
set "pfad=r:\xxx\" 
05.
set "list=liste.txt" 
06.
 
07.
pushd %pfad% 
08.
for /f "usebackq delims=" %%i in ("%list%") do set "ordner=%%i" & call :ProcessFile "%%i" 
09.
pause 
10.
goto :eof 
11.
 
12.
:ProcessFile 
13.
pushd "%ordner%" 
14.
for /f "skip=2 delims=" %%j in ('dir /b /s /o-d "W10*.csv"') do echo del "%%j" 
15.
echo. 
16.
popd
liste.txt und deine batch liegen in xxx Ordner.
liste.txt besteht aus dem nackten Pfad
  • r:\xxx\yyy
  • r:\xxx\zzz
In Zeile 14 per skip= wird die Anzahl der Dateien überspringen
Ich habe 5 mal W101-5.txt Dateien zum Testen erstellt und mit skip=2 verbleiben also zwei der jüngsten, drei der ältesten Dateien werden somit gelöscht
Ich weiß es ist nicht sehr elegant, weil man die Anzahl der verbleibenden Dateien kennen muss.
Dennoch vielleicht hilft es dir das ein wenig.
Zeile 14 das echo wie immer nur zum Testen.
Bitte warten ..
Mitglied: simonsays
31.07.2014 um 14:56 Uhr
Hallo und Danke schon mal vorab.
Morgen werde ich das testen und dann natürlich Bescheid geben.
lg
Bitte warten ..
Mitglied: colinardo
LÖSUNG 31.07.2014, aktualisiert 13.08.2014
Moin simonsays, Wilkommen auf Administrator.de!
Hier reicht auch folgender Batch-Einzeiler :
forfiles /P "c:\xxx" /D -30 /S /M "W10*.csv" /C "cmd /c del /q @path"
oder mit Powershell
dir "C:\xxx\W10*.csv" -Recurse | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (get-date).AddDays(-30)} | remove-item -Force
Grüße Uwe

p.s. btw gibt dir unsere Suche zum Thema "Dateien löschen älter als x Tage" hunderte Treffer ! Das nächste mal erst die Suchfunktion bemühen, Merci.
Bitte warten ..
Mitglied: simonsays
13.08.2014 um 11:34 Uhr
DANKE an Alle! Super!
Hab die Lösung von "colinardo" genommen.

Euer Batch-Nulling
Bitte warten ..
Mitglied: remero-s
11.08.2015 um 15:15 Uhr
Frage: Ich möchte alle Unterordner automatisch löschen lassen die älter als 30 Tage sind von Verzeichnis:

S\PR1X-FLR\xxx\Gesprächsvorbereitungen\unterordner_yy

Die Unterordner sind von A-Z genannt.

Mit welchem Befehl kann ich das am einfachsten machen?

Danke im Voraus.
Bitte warten ..
Mitglied: TlBERlUS
11.08.2015 um 15:41 Uhr
Zitat von remero-s:

Frage: Ich möchte alle Unterordner automatisch löschen lassen die älter als 30 Tage sind von Verzeichnis:

Man soll doch keine Threads kapern...
https://www.administrator.de/search/detail.php?what=questions&query= ...
Bitte warten ..
Mitglied: remero-s
11.08.2015 um 15:56 Uhr
Ich bin ein absoluter Neuling in Sachen Batch Datei. Ich finde nicht das passende.

Mein Ziel ist es einfach ein Prozess zu optimieren, da wir in meinem Team jeden Tag unzählige Ordner erstellen die wir dann nicht mehr brauchen.

Muss ich die .bat Datei dann jedes mal ausführen oder funktioniert das für immer?

Können Sie mir diese Script bitte aufschreiben?

Vielen Dank.
Bitte warten ..
Mitglied: TlBERlUS
11.08.2015 um 19:04 Uhr
Zitat von remero-s:

Ich bin ein absoluter Neuling in Sachen Batch Datei. Ich finde nicht das passende.
http://www.administrator.de/frage/batch-l%C3%B6schen-ordner-%C3%A4lter- ...
Siehe da, google hilft


Muss ich die .bat Datei dann jedes mal ausführen oder funktioniert das für immer?
Damit sie "immer" funktioniert muss sie in die Windows-Aufgabenplanung integriert werden
Können Sie mir diese Script bitte aufschreiben?
Wenns Batch sein soll, nope, kann ich nicht; Da dürfte der Link weiterhelfen

Vielen Dank.
Bitte, und beim nächsten Mal eine eigene Frage stellen.
Bitte warten ..
Mitglied: colinardo
11.08.2015, aktualisiert um 19:30 Uhr
Zitat von remero-s:

Frage: Ich möchte alle Unterordner automatisch löschen lassen die älter als 30 Tage sind von Verzeichnis:

S\PR1X-FLR\xxx\Gesprächsvorbereitungen\unterordner_yy

Die Unterordner sind von A-Z genannt.

Mit welchem Befehl kann ich das am einfachsten machen?
Für eine Batch, für dich mit etwas Powershell-Würze:
01.
powershell.exe -Executionpolicy ByPass -Command "&{gci 'S:\PR1X-FLR\xxx\Gesprächsvorbereitungen' | ?{$_.PSIscontainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-30)} | remove-item -recurse -Force}"
Damit sollte das Thema jetzt auch gegessen sein.

Und wie meine Vorredner schon schrieben, bitte das nächste mal keine alten Kamelle aufwärmen. Danke.

Grüße @colinardo
Bitte warten ..
Mitglied: remero-s
12.08.2015 um 08:17 Uhr
Vielen Dank! Ja versprochen, habe das erst jetzt gemerkt.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Datei zum verschieben von Dateien aus Unterordnern ? (10)

Frage von Ghostrider1911 zum Thema Batch & Shell ...

Batch & Shell
14 Tage alte Dateien automatisch löschen - Shell (1)

Frage von traller zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...