thanquol
Goto Top

Alle Dateien bist auf die letzten 2 löschen?

Hallo,

folgendes Problem:

Eine Applikation erstellt täglich (MO-FR) eine sicherung und legt diese auf unsrem Server ab!
Leider löscht die Applikation nicht selbstständig Sicherungen die Älter als X Tage sind...

kann ich ein kleines Script schreiben, welches mir in einem Ordner alle Dateien bist auf die beiden jüngsten löscht?


mittels DIR /b /OD kann ich mir ja alle Dateien anzeigen lassen, davon sollte der mir jetzt alle bis auf die ersten beiden löschen!


Bin für jeden Tip dankbar, da ich grad aufm Schlauch stehe!

Danke!
Flo

Content-Key: 76016

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

Printed on: April 25, 2024 at 10:04 o'clock

Mitglied: 58502
58502 Dec 14, 2007 at 16:28:54 (UTC)
Goto Top
Alle Dateien bist auf die letzten 2 löschen

davon sollte der mir jetzt alle bis auf die ersten beiden löschen!

Entscheiden solltest du dich schon, bevor dir jemand bei der Lösung hilft. face-wink
Member: Thanquol
Thanquol Dec 14, 2007 at 16:33:16 (UTC)
Goto Top
hmm hab ich wieder toll formuliert face-wink

Also:
Ordner
X Dateien
Lösche alle bist auf die beiden Jüngsten Dateien

Flo
Member: bastla
bastla Dec 14, 2007 at 16:33:27 (UTC)
Goto Top
Hallo Thanquol!

Etwa so:
@for /f "skip=2 delims=" %%i in ('dir \\Server\Share\ /b /o-d /a-d') do @echo del "%%~fi"  
Durch das "@echo" wird das Löschen nicht wirklich ausgeführt, sondern der Löschbefehl nur angezeigt.

Grüße
bastla
Member: Biber
Biber Dec 14, 2007 at 16:39:46 (UTC)
Goto Top
Moin Thanqoul,

Du hast bereits einen anderen Beitrag offen, wo Deine Rückmeldung aussteht.

Du kannst die Sortierung auch umdrehen und dann in der Tat alles außer den ersten beiden Zeilen bearbeiten.

Beispiel am CMD-Prompt:
for /f "skip=2 delims=" %i in ('dir /b /o-d *.*') do @echo del /y "%i"  

...wobei
  • das "@echo" nur zum Testen ist
  • natürlich eine Pfad-Angabe, eine Einschränkung "/A:-d" (nur Dateien, keine DIRs) und eine Wildcard-Eingrenzung statt meinem *.* beim DIR-Kommando sinnvoll erfolgen sollte.

Ähnliche Anforderungen findest Du übrigens über die Forumssuche schon bei "batch löschen".

Grüße
Biber
[Edit] @bastla
Sagt Dir unser aller Forums-Gebot "Do Not Overtake!" etwas? Und schon gar nicht "on the right side"... face-wink

Schönes Wochenende!
[/Edit]
Member: bastla
bastla Dec 14, 2007 at 17:30:57 (UTC)
Goto Top
@Biber
Gilt demnach das "Lex Fraenky" schon als "amendment" zu den Forenrichtlinien? face-wink

However, was soll ich denn dann machen - kein "overtaken", "undertaker" wäre auch nix für mich, also wohl am besten gleichfalls ein "Takeoff" in's Wochenende ...

Auf jeden Fall ein angenehmes selbiges auch Dir!
bastla
Member: Thanquol
Thanquol Dec 14, 2007 at 21:31:05 (UTC)
Goto Top
Ahoi!

keine sorge, ich hab den andren thread nicht vergessen! komme aber erst am Montag wenn ich in der Arbeit bin wieder zum ausprobieren!

Ich hab auf alle Fälle gute Ansätze mit denen ich weiterarbeiten kann am Montag!

Danke schonmal
Flo
Member: Thanquol
Thanquol Dec 17, 2007 at 12:58:36 (UTC)
Goto Top
Ahoi!

Vielen Dank, hiermit konnte ich mein Problem lösen! (Änderungswunsch des Kunden: nur das letzte Backup soll bleiben)

for /f "skip=1 delims=" %%i in ('dir "C:\ordner" /b /o-d') do del /F "C:\ordner\%%i"