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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 109767
Url: https://administrator.de/contentid/109767
Printed on: April 23, 2024 at 06:04 o'clock
2 Comments
Latest comment
Hallo,
1. wurde über dieses Thema schon unzählige Male diskutiert, einfach mal suchen.
2. meine Empfehlung "DelAge32.exe"
Gruß René
1. wurde über dieses Thema schon unzählige Male diskutiert, einfach mal suchen.
2. meine Empfehlung "DelAge32.exe"
Gruß René