Batch schreiben löschen
Hallo zusammen,
ich hoffe das mir hier jmd helfen kann. Ich habe einen Ordner wo Sicherungen drin gespeichert werden, davon möchte ich per batch die ältesten beiden zeitgesteuert löschen!
for /d %%i in (C:\Dokumente und Einstellungen\User\Desktop\Neuer Ordner (2)\test1.txt*.*) do echo rd /s /q "%%i"
testweise so probiert, aber irgendwie verlier ich den faden!
Muss ich für jede Datei die ich löschen will eine eigene bat datei schreiben?
Und wie bekomme ich es hin das immer die ältesten beiden Sicherungen gelöscht werden, ohne Abfrage?
ich hoffe das mir hier jmd helfen kann. Ich habe einen Ordner wo Sicherungen drin gespeichert werden, davon möchte ich per batch die ältesten beiden zeitgesteuert löschen!
for /d %%i in (C:\Dokumente und Einstellungen\User\Desktop\Neuer Ordner (2)\test1.txt*.*) do echo rd /s /q "%%i"
testweise so probiert, aber irgendwie verlier ich den faden!
Muss ich für jede Datei die ich löschen will eine eigene bat datei schreiben?
Und wie bekomme ich es hin das immer die ältesten beiden Sicherungen gelöscht werden, ohne Abfrage?
Please also mark the comments that contributed to the solution of the article
Content-Key: 239593
Url: https://administrator.de/contentid/239593
Printed on: April 24, 2024 at 06:04 o'clock
2 Comments
Latest comment
Moin,
schau dir mal robocopy /? an.
Da kannst du u.a. auch ein Alter der Dateien angeben die gelöscht werden sollen.
Ansonsten Taskplaner?
Oder du machst dir bei jeder Sicherung einen Eintrag in eine Logdatei per Script. Die liest du dann aus und liest die ersten beiden Zeilen ein und löscht die protokollierten Dateien und die beiden Zeilen aus dem Log.
Aber: Wenn du 2 löscht und eine Sicherung machst ist irgendwann keine mehr da
Gruß
schau dir mal robocopy /? an.
Da kannst du u.a. auch ein Alter der Dateien angeben die gelöscht werden sollen.
Ansonsten Taskplaner?
Oder du machst dir bei jeder Sicherung einen Eintrag in eine Logdatei per Script. Die liest du dann aus und liest die ersten beiden Zeilen ein und löscht die protokollierten Dateien und die beiden Zeilen aus dem Log.
Aber: Wenn du 2 löscht und eine Sicherung machst ist irgendwann keine mehr da
Gruß
Hallo 1900vfl und Xaero1982!
Der Einwand
Da Du "
Damit sollten alle bis auf die 3 (siehe Wert für "
Grüße
bastla
Der Einwand
Wenn du 2 löscht und eine Sicherung machst ist irgendwann keine mehr da
ist völlig berechtigt, daher sollte die Strategie eher lauten: "Lösche alle bis auf die neuesten 3 Versionen" - womit sich noch die Frage stellt, woran die neuesten Sicherungen zu erkennen sind ...Da Du "
rd
" verwenden willst, nehme ich an, dass die Sicherungen nicht aus einer einzelnen Datei bestehen, sondern jeweils in einem Unterordner liegen - falls das Änderungsdatum der Ordner zur Identifizierung der neuesten Sicherungen ausreicht, könntest Du das etwa so lösen:@echo off & setlocal
set "Sicherungsordner=C:\Dokumente und Einstellungen\User\Desktop\Neuer Ordner (2)"
for /f "skip=3 delims=" %%i in ('dir /b/ad/o-d "%Sicherungsordner%"') do echo rd /s /q "%Sicherungsordner%\%%i"
skip
") neuesten Unterordner von "%Sicherungsordner%" gelöscht werden (allerdings erst, wenn Du das zum gefahrlosen Testen gedachte "echo
" entfernt hast).Grüße
bastla