traller
Goto Top

Batch zum löschen von Ordner die älter als 14 Tage sind

Hallo,
schade, ich kann hier Batch zum löschen von Ordner die älter als 30 Tage sind wohl leider nix mehr zu posten, da ich dazu noch eine Frage habe.
ich habe nun folgenden Code übernommen. Die Ordner liegen auf einem Server 2008 R2 im Format "dat_JJJJ_MM_TT" vor.
FOR /F %%i IN ('dir /AD /O-N /B "D:\archive\dat_20????????" ^|more +14') DO (  
  RD /s /q "D:\archive\%%i"  
)

Diese Codezeile sagt nun folgendes: Gebe von D:\archive\ eine Liste nach absteigendem Namen (also von aktuell in die Vergangenheit) und überspringe die ersten 14 Ordner. Nehme diese Datenausgabe und lösche alle Ordner und Inhalte, die in dieser Liste genannt worden sind.

Ist das so korrekt? oder befindet sich in dem Code ein Syntax Fehler / Gedankenfehler??

Kann dieser Befehl in einer .bat gespeichert werden oder muss es .CMD sein?

Content-Key: 180854

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

Printed on: April 24, 2024 at 16:04 o'clock

Member: Skyemugen
Skyemugen Feb 22, 2012 at 06:22:58 (UTC)
Goto Top
Aloha,

nun, du könntest dich selber davon überzeugen wozu dieser Thread, wenn du vor
  • RD noch ein echo setzt und es damit erst einmal nur testweise anschaust (wie Biber es bereits mit in dem besagten Thread per for /f %i in ('dir /ad /o-d /b x:\sichverz\200????? ^|more +30') do @echo rd /s /q "x:\sichverz\%i"" am CMD schrieb)
  • es in einer Testverzeichnisstruktur vorher abarbeitest

nunja hättest du gekonnt ...

Ja, sowohl Gedanke als auch Code sind korrekt (gut, man könnte auch direkt dat_20??_??_?? suchen, wobei das eh ein wenig verbugged ist *fg*) und nein, ob .bat oder .cmd spielt keine Rolle - wer mit der Zeit gehen will, nimmt .cmd, da .bat das ältere Format ist face-wink

greetz André
Mitglied: 60730
60730 Feb 22, 2012, updated at Oct 18, 2012 at 16:50:06 (UTC)
Goto Top
Moin,

[OT]
Zitat von @traller:
Hallo,
schade, ich kann hier Batch zum löschen von Ordner die älter als 30 Tage sind wohl leider nix mehr zu posten, da ich dazu noch eine Frage habe.

Weißt, wie wir alle ganz gut miteinander auskommen können?

Grabe keine fremden ollen Kammellen aus, bevor du die nicht ausprobiert hast und stell eine (wie hier) eigene Frage zur Thematik.
Wobei das mit dem Link zur Ursprungsfrage schon gut gemacht ist.

Warum? das hat mehrere Gründe. u.a den dass nur diejenigen, die damals dabei waren überhaupt mitkriegen "könnten" das sich da was tut.
Deine "eigenen" ollen Kammellen hingegen darfst du gerne besuchen und dort machen, was du für richtig hälst.
(Das war eine Aufforderung)

Ist das so korrekt? oder befindet sich in dem Code ein Syntax Fehler / Gedankenfehler??
"Manchmal" - aber nur manchmal passieren dem Biber auch flüchtigkeitsfehler oder man könnte die Befehlskette theoretisch noch kürzer schreiben.

Grobe Schnitzer/Syntay oder Gedankenfehler in einer Batch unserem Meister B vorzuwerfen das ist hingegen grob fahrlässig.

[/OT]

Kann dieser Befehl in einer .bat gespeichert werden oder muss es .CMD sein?

Naja - hast du altsysteme, die wirklich nur Dos können? Und könnte dieser Code mal auf diesen Kisten landen? Wenn ja nimm auf jeden Fall cmd.


Gruß
Member: Wolpi25
Wolpi25 Feb 22, 2012 at 10:09:11 (UTC)
Goto Top
moin,

ich habe das ganze mit robocopy umgesetzt. sieht in der batch dann so aus:

mkdir c:\erase
robocopy.exe c:\temp c:\erase /e /MOV /MINAGE:14 /R:1 /W:1 /NP /log:robocopy.log
rmdir c:\erase /s /q

vielleicht hilft dir das ja weiter.

mfg
wolpi