61500
Goto Top

Alle Ordner bis auf die letzten 3 per Batch löschen

Hallo Zusammen,

ja, ich habe hier und mit Google gesucht aber noch keine Lösung für mein Problem gefunden.
In dem Beitrag habe ich eine fast passende Lösung gefunden, allerdings funktioniert sie nicht, wenn im zu löschenden Verzeichnis ein Leerzeichen ist.
Die Verzeichnisnamen werden allerdings fest vom Programm (in meinem Fall Lightroom) vergeben.

Die Struktur sieht in etwa so aus.....
E:\#Lightroom\Katalog\Katalog Backup\
..2017-01-22 1845
..2017-01-27 0938
..2017-02-07 2348
..2017-02-09 1213
..2017-02-23 1108

Wie kann ich es per Batch bewerkstelligen, dass alle bis auf die letzten 3 Unterordner in E:\#Lightroom\Katalog\Katalog Backup gelöscht werden?
Könnt ihr mir da bitte helfen?

Vielen Dank im Voraus und lG
Stefan

Content-Key: 330317

Url: https://administrator.de/contentid/330317

Ausgedruckt am: 19.03.2024 um 03:03 Uhr

Mitglied: 132272
Lösung 132272 23.02.2017 aktualisiert um 15:12:33 Uhr
Goto Top
@echo off
set "folder=E:\Lightroom\Katalog\Katalog Backup"  
for /f "skip=3 delims=" %%a in ('dir /b /ad /O-N "%folder%"') do rd "%folder%\%%a" /s /q  
Gruß
Mitglied: 61500
61500 23.02.2017 um 15:06:49 Uhr
Goto Top
Hallo cruzer,
danke für die rasche Antwort.

ich habe die 2. Zeile in die Bacht ohne @echo off eingegeben aber das Verzeichnis wird nicht gelöscht.

Es steht z.B. folgendes in der Konsole:

C:\Users\xxx\Desktop> rd "2017-01-22 1845" /s /q
Das System kann die angegebene Datei nicht finden.

Ist er da eventuell im falschen Verzeichnis?
Mitglied: 132272
132272 23.02.2017 aktualisiert um 15:13:21 Uhr
Goto Top
Sorry, habs vergessen ist oben korrigiert, dachte du führst die Batch direkt im .o.a. Verzeichnis aus.
Mitglied: 61500
61500 23.02.2017 um 15:46:08 Uhr
Goto Top
Brauchst dich nicht zu entschuligen. Ich danke dir vielmals!!
Es funktioniert jetzt so wie geplant.

Ich werde es beim LogOn mittels Script ausführen.
Ganz verstanden habe ich es jetzt nicht, warum man das mit einer Variablen lösen muss, aber Hauptsache, es tut face-smile
Mitglied: 132272
132272 23.02.2017 aktualisiert um 15:50:06 Uhr
Goto Top
Zitat von @61500:
Ganz verstanden habe ich es jetzt nicht, warum man das mit einer Variablen lösen muss, aber Hauptsache, es tut face-smile
Musst du ja nicht, ist aber leichter zu pflegen und fehlerunanfälliger anstatt X mal den gleichen Pfad ins Skript zu schreiben face-wink. Denke mal daran wenn das Programmierer so machen würden, die müssten in Ihren ganzen Codes die Pfade ersetzen wenn er sich mal ändert, also very bad practice ...