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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 239593
Url: https://administrator.de/contentid/239593
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
2 Kommentare
Neuester Kommentar
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