Per Batch Dateien löschen die älter als 2 Tage sind
Hallo
möchte auf der Platte d: auf der ich mehrere Verzeichnisse habe alle Dateien die älter als z.B. 2 Tage sind löschen, ich darf aber keine exe verwenden, das müsste eine reine bat Datei sein Kann mir jemand helfen
Gruß
möchte auf der Platte d: auf der ich mehrere Verzeichnisse habe alle Dateien die älter als z.B. 2 Tage sind löschen, ich darf aber keine exe verwenden, das müsste eine reine bat Datei sein Kann mir jemand helfen
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 43770
Url: https://administrator.de/contentid/43770
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
21 Kommentare
Neuester Kommentar
Ich kenne nur das Tool DelAge32. Dazu muss eine Exe im Windows-Systemverzeichnis sein. Hier der Link --> http://home.mnet-online.de/horst.muc/win/indexd.htm Das Tool läuft bei uns sowohl auf Server als auch auf den Clients wunderbar und läßt sich über eine Batch ansteuern.
Hallo
möchte auf der Platte d: auf der ich
mehrere Verzeichnisse habe alle Dateien die
älter als z.B. 2 Tage sind
löschen, ich darf aber keine exe
verwenden, das müsste eine reine bat
Datei sein Kann mir jemand helfen
Gruß
möchte auf der Platte d: auf der ich
mehrere Verzeichnisse habe alle Dateien die
älter als z.B. 2 Tage sind
löschen, ich darf aber keine exe
verwenden, das müsste eine reine bat
Datei sein Kann mir jemand helfen
Gruß
ohjee. bitte lies dir doch die verwandten themen durch. die links direkt unter deinem beitrag heissen:
per Script / Batch Verzeichnisse / Dateien löschen die älter als z. B. 7 Tage alt sind
Löschen von Dateien, die älter als x Tage sind (Windows)
Dateien löschen, wenn bestimmte Datei älter als x Tage ist
Batch Datei: Alte Dateien nach gewissen Alter löschen
um nur einen teil zu nennen...
Esco
Hallo rycho11,
in diesem Fall solltest vielleicht wenigstens den einen Thread nochmal genau lesen, nämlich ab da:
[edit]
Ich habe mir delAge gerade mal angesehen, bei dem Tool von "Installieren auf den Server" zu sprechen, halte ich für schwer übertrieben.
[/edit]
geTuemII
ich habe die alle gelesen, das Problem ist aber, dass ich das tool DelAge32.exe auf dem
Server nicht instalieren darf und brauche eine .bat dazu
Server nicht instalieren darf und brauche eine .bat dazu
in diesem Fall solltest vielleicht wenigstens den einen Thread nochmal genau lesen, nämlich ab da:
[edit]
Ich habe mir delAge gerade mal angesehen, bei dem Tool von "Installieren auf den Server" zu sprechen, halte ich für schwer übertrieben.
[/edit]
geTuemII
Jepp,
bin wie immer ganz geTuemII's Meinung. *rumschleim*
Alle Varianten, die ohne die DateAdd()/DateDiff()-Funktionalitäten von VBScript oder JScript mit native Batch rumeiern wollen, dürften aus meiner Sicht erst recht nicht auf einen produktiven Server.
Und Softmeisters Variante aus dem genannten Thread ist doch erste Wahl für Deinen Zweck, oder?
Außerdem wäre noch zu prüfen, ob denn eventuell andere mehr-oder-minder-Standard-Utilities aus dem Hause M$ auf dem Server sind, die sich für solche Zwecke nutzen ließen:
Insbesondere ForFiles.exe und/oder Robocopy.exe, die beide ja mit Tagen oder MinAge "rechnen" können.
Gruß
Biber
[Edit] P.S. @geTuemII
[/Edit]
bin wie immer ganz geTuemII's Meinung. *rumschleim*
Alle Varianten, die ohne die DateAdd()/DateDiff()-Funktionalitäten von VBScript oder JScript mit native Batch rumeiern wollen, dürften aus meiner Sicht erst recht nicht auf einen produktiven Server.
Und Softmeisters Variante aus dem genannten Thread ist doch erste Wahl für Deinen Zweck, oder?
Außerdem wäre noch zu prüfen, ob denn eventuell andere mehr-oder-minder-Standard-Utilities aus dem Hause M$ auf dem Server sind, die sich für solche Zwecke nutzen ließen:
Insbesondere ForFiles.exe und/oder Robocopy.exe, die beide ja mit Tagen oder MinAge "rechnen" können.
Gruß
Biber
[Edit] P.S. @geTuemII
[edit]
Ich habe mir delAge gerade mal angesehen, bei dem Tool von "Installieren auf den Server" zu sprechen, halte ich für schwer übertrieben.
[/edit]
Na ja, es müsste zwar nur auf den Server kopiert werden, aber es würde dort ja täglich gelöscht werden... ist doch schon älter als 2 Tage... Ich habe mir delAge gerade mal angesehen, bei dem Tool von "Installieren auf den Server" zu sprechen, halte ich für schwer übertrieben.
[/edit]
[/Edit]
Ich weiß nicht, was Du für aberwitzige Hoffnungen hast, mit native Batch irgendwelche Datumsberechnungen machen zu können.
Aber damit Du nicht nur blöde Antworten bekommst: wenn ich gar nichts in der Hand hätte, würde ich...
1. Excel öffnen, neue Arbeitsmappe anlegen.
2. Ins erste Feld eintippen: "06.11.2006"
3. Ins Feld rechts daneben "=A1-1" und ins Feld darunter eintippen: "=A1+1"
4. Ins Feld B2 eintippen ""=A2+1"
5. Die beiden Felder in der 2. Zeile markieren und (ca.) 1500x nach unten kopieren.
6. Diese Tabelle abspeichern als "c:\temp1\heutUndgestern.csv".
[Sieht dann so aus:
Nach dieser Vorarbeit machen es folgende zwei Batchzeilen:
Das fettgedruckte ECHO muss zum Scharfmachen raus.
Wenn Du es eleganter hinbekommst, lass von Dir hören.
Aber damit Du nicht nur blöde Antworten bekommst: wenn ich gar nichts in der Hand hätte, würde ich...
1. Excel öffnen, neue Arbeitsmappe anlegen.
2. Ins erste Feld eintippen: "06.11.2006"
3. Ins Feld rechts daneben "=A1-1" und ins Feld darunter eintippen: "=A1+1"
4. Ins Feld B2 eintippen ""=A2+1"
5. Die beiden Felder in der 2. Zeile markieren und (ca.) 1500x nach unten kopieren.
6. Diese Tabelle abspeichern als "c:\temp1\heutUndgestern.csv".
[Sieht dann so aus:
>type c:\temp1\heutUndGestern.csv
06.11.2006;05.11.2006
07.11.2006;06.11.2006
08.11.2006;07.11.2006
09.11.2006;08.11.2006
10.11.2006;09.11.2006
11.11.2006;10.11.2006
12.11.2006;11.11.2006
... [plus dreieinhalb weitere Meter ähnlicher Ergiebigkeit]
::----snipp HauAllesWechAbVorvorgestern.bat
for /f "tokens=2 delims=;" %%i in ('findstr "^%date%" "c:\temp1\heutUndGestern.csv"') do @set "gestern=%%i"
for /R "d:\" %%i in (*.*) do @echo %%~ti|find "%date%"||@echo %%~ti|find "%gestern%"||@<b>ECHO </b>del /y "%%~dpnxi"
Das fettgedruckte ECHO muss zum Scharfmachen raus.
Wenn Du es eleganter hinbekommst, lass von Dir hören.
ich habe eine frage gestellt und gehofft, dass mir jemand hilft wenn ich andere
Werkzeuge benutzen dürfte hätte ich die frage nicht gestellt
bitte keine blöd… Ratschläge
Werkzeuge benutzen dürfte hätte ich die frage nicht gestellt
bitte keine blöd… Ratschläge
Sorry, rycho11,
aber das, was du hier als blöde Ratschläge abwertest, nennt sich andernorts Erfahrung. Ich frage mich schon einige Zeit, wie deine Rechte auf dem Server aussehen, wenn du keine Programme "installieren" (im Fall von delAge handelt es sich eher um kopieren) darfst, aber andererseits das recht hast, Dateien per Batch kommentarlos zu löschen.
Bei genauer Betrachtung ist ein Batch nicht anderes als ein Programm, nur mit dem Unterschied, daß es nicht kompliert ist.
geTuemII
@geTuemII
Das hab ich mich auch gefragt... es ist wahrscheinlich gar kein Server, sondern eine Hausaufgabe vom VHS-Kurs "MacGuywer-Batching II".
Und schreib nicht immer so verkürzt:
Zu kurz: "nur mit dem Unterschied, daß es nicht kompliert ist."
Ausführlich: "nur mit dem Unterschied, daß es weder kompliziert noch kompiliert ist."
Biber
Das hab ich mich auch gefragt... es ist wahrscheinlich gar kein Server, sondern eine Hausaufgabe vom VHS-Kurs "MacGuywer-Batching II".
Und schreib nicht immer so verkürzt:
Zu kurz: "nur mit dem Unterschied, daß es nicht kompliert ist."
Ausführlich: "nur mit dem Unterschied, daß es weder kompliziert noch kompiliert ist."
Biber
@Biber:
Guut, daß wir drüber gesprochen haben.....
Guut, daß wir drüber gesprochen haben.....
Moin rycho11,
dann ist es aber schon ein Dreizeiler...
[Löscht alle Dateien von Vorvorgestern und alle Verzeichnisse SAMT INHALT, wenn das Verzeichnis selbst älter ist als zwei Tage.]
Wie immer: das GROSS geschriebene ECHO rausnehmen, falls Testen das erwartete Ergebnis erbracht hat.
So zeigt der Schnipsel nur, was er tun würde.
Gruß
Biber
dann ist es aber schon ein Dreizeiler...
::----snipp HauAllesWechAbVorvorgesternInclVerzeichnisse.bat
for /f "tokens=2 delims=;" %%i in ('findstr "^%date%" "c:\temp1\heutUndGestern.csv"') do @set "gestern=%%i"
for /R "d:\" %%i in (*.*) do @echo %%~ti|find "%date%"||@echo %%~ti|find "%gestern%"||@ECHO del /y "%%~dpnxi"
for /D %%i in (d:\*.*) do @echo %%~ti|find "%date%"||@echo %%~ti|find "%gestern%"||@ECHO rd /s /q "%%i"
[Löscht alle Dateien von Vorvorgestern und alle Verzeichnisse SAMT INHALT, wenn das Verzeichnis selbst älter ist als zwei Tage.]
Wie immer: das GROSS geschriebene ECHO rausnehmen, falls Testen das erwartete Ergebnis erbracht hat.
So zeigt der Schnipsel nur, was er tun würde.
Gruß
Biber