Necesito su apoyo para crear un bat que elimine carpetas según la fecha

Tengo un bat que genera una carpeta cuyo nombre es la fecha en la que se crea. En esta carpeta se copia el ontenido de otra carpeta compartida:

@echo of
Title Copia ABS

Set Fecha=%date:~6,4%%date:~3,2%%date:~0,2%
Set Hora=%Time:~0,2%%Time:~3,2%
SET Dir_Dest=D:\Destino\%date:~6,4%%date:~3,2%%date:~0,2%

MKDIR %Dir_Dest%
(
echo.
Echo Respaldo %DATE% PC VUVA a Tiz-Alm03
echo Desarrollado por Alberto Balderas Sagrero
echo.
xcopy C:\Origen %Dir_Dest%/E/D/Y
echo %TIME%
)>> D:\Destino\Log.txt

exit

Hasta aqui todo va bien (si tienen una idea para mejorar el bat soy todo oidos), el bat se ejecuta y crea el respaldo de la ubicación que necesito, sin embargo me gustaría que se eliminaran de manera automática (por medio de otro bat) las carpetas mayores a 10 días.

Ya me "quebré" la cabeza y no encuentro la solución.

1 Respuesta

Respuesta
3

Si tu sistema operativo es superior a Windows XP puedes probar con esto:

@echo off
set carpeta=d:\Carpeta prueba
pushd %carpeta%
forfiles -s -d -10 -c "cmd /c if @isdir==TRUE rd /s /q @path"
Popd

En CARPETA pon la "carpeta de trabajo" (intuyo que d:\destino). Si antes de hacer el borrado quieres ver lo que se va a hacer puedes precederlo de ECHO. Si quieres grabar en un LOG los borrados puedes añadir otro FORFILES. A lo mejor hay soluciones mejores pero no tengo demasiada experienciacon este comando FORFILES.

Si tu sistema operativo es XP también habría solución pero sería un poco más elaborada.

Ya me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas