chizze

Dateien anhand von Datum löschen

Hallo Liebe Administratoren gemeinde,

ich habe zurzeit folgendes Problem:

ich muss aus einem Ordner, der Upatedatein enthält, Dateien löschen die älter sind als 5 Tage (Vom aktuellen Datum ausgehend).
Ich hab mich auch erstmal ran gesetzt und im Internet belesen und mein momentaner lösungsstand sie so aus, dass ich Datein löschen kann die 5 Tage älter sind, allerdings wird nicht auf den Monat oder das Jahr geachtet.
Um das zu besser erklären zu können ein kurzes Beispiel: heute - 23.02.2009, Dateien mit Erstelldatum 19.01.2009 oder 22.11.2008 bleiben alle bestehn. Das ist das Problem. Den Quelltext häng ich gern mit an.

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen kann.


@echo off

set dd=%date:~3,2%
set m=%date:~6,2%
set y=%date:~9,13%
set /a tage=5

IF %dd% GEQ 6 (
set /a dd-=%tage%
) ELSE (
goto ende
)
IF %dd% LEQ 9 (
goto caldat2
rem set newdate=0%dd%.%m%.%y%
) ELSE (
goto caldat1
)
:caldat1
set newdate=%dd%.%m%.%y%
goto Main

:caldat2
set newdate=0%dd%.%m%.%y%
goto Main

:Main
FOR /F "tokens=1,4 skip=7 delims= " %%d in ('dir "C:\Inetpub\ftpSymantecUpdates\*.*"') DO (

IF not "%%e" =="Bytes" (
echo %%e - %%d

IF %newdate% GEQ %%d (
echo %%e, %%d
ECHO J | del C:\Inetpub\ftpSymantecUpdates\%%e
)
)
)
pause
:ende
quit
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 109767

Url: https://administrator.de/forum/dateien-anhand-von-datum-loeschen-109767.html

Ausgedruckt am: 30.04.2025 um 06:04 Uhr

27234
27234 23.02.2009 um 15:53:01 Uhr
Goto Top
Hallo,

1. wurde über dieses Thema schon unzählige Male diskutiert, einfach mal suchen.

2. meine Empfehlung "DelAge32.exe"

Gruß René
Chizze
Chizze 24.02.2009 um 15:06:18 Uhr
Goto Top
Problem ist gelöst!

Da ich auf dem Server keine I-net freischaltung hab, konnte ich das Tool "DelAge32" nicht nutzen und hab nun mein Program Code zusammen bekommen.
Fals jmd mal das gleiche Problem haben wird, ich stellt den Quelltext noch mit zur Verfügung!


Rem ...Löscht Datein aus einem Verzeichnis die Älter sind als X Tage. Die größe X kann man in

der Letzten Zeile ändern, nach "GEQ".

@echo Off & setlocal EnableDelayedExpansion
PushD "x:\Ordner"

for %%i in (*.*) do (
for /f "tokens=1-3,5-7 delims=. " %%a in ("%%~ti %date%") do (
echo "set /a datediff= %%f*365 + %%e*30 + %%d - %%c*365 - %%b*30 -%%a"
if !datediff! GEQ 5 echo "%%i"
))
pause