Problema borrar ficheros con batch

Iniciado por maiksix, 4 Septiembre 2015, 19:29 PM

0 Miembros y 1 Visitante están viendo este tema.

maiksix

Hola a todos,

tengo el siguiente fichero .bat


@echo off
@rem define logs path
set path=C:\Users\User\Desktop\LogsBorrar\

@rem define file name or pattern
set file=*.log

@rem define today date
set timestamp=%date%

@rem define the complete Path of the logs
set completePath=%path%%file%

@rem define an specific date
set tim= 20/08/15

@rem list the files to erase in completePath directory

for /f %%f in ('dir /t:w %completePath%') do (
echo.
echo %%f
if %tim% LSS %%f erase %%f
)
echo

pause


El objetivo es que borre todos los .log que sean más viejos que la fecha de la variable "tim", por eso leo con dir la fecha de los ficheros del directorio, pero como sólo leo la fecha no borra el fichero...

Alguna sugerencia para avanzar?

P.D: Conozco la existencia de forfiles pero no lo detecta windows, y aunque he encontrado como habilitarlo quiero aprender a hacer yo el código entero

Gracias amigos!

Eleкtro

#1
Cita de: maiksix en  4 Septiembre 2015, 19:29 PMEl objetivo es que borre todos los .log que sean más viejos que la fecha de la variable "tim", por eso leo con dir la fecha de los ficheros del directorio, pero como sólo leo la fecha no borra el fichero...

Alguna sugerencia para avanzar?

A esto te he dado una solución en tu otro post. No hagas doble post, está prohibido.


CitarConozco la existencia de forfiles pero no lo detecta windows, y aunque he encontrado como habilitarlo quiero aprender a hacer yo el código entero

¿Qué significa "no lo detecta Windows"?, ¿utilizas Windows XP o anteriores, o utilizas una versión modificada de Windows donde han capado el forfiles (ej. Windows 7 super chachi edition by megaman77)?.

No veo que diferencia de aprendizaje le ves a utilizar un comando u otro, no te ofendas, pero para hacer eso de "quiero aprender a hacer yo el código entero" entonces deberías usar ASM xD. Lo que intento decir es que es una bobada que pierdas el tiempo en Batch, si ya conoces una solución usando forfiles entonces ¿para que quieres perder tiempo complicándote con el comando DIR?, si en realidd no vas a aprender nada, un FOR /F no aporta nada en la programación, y si quieres otra solución con la que aprender entonces deberías empezar por olvidar Batch y elegir cualquier otro lenguaje con el que poder aprender algo útil.

Es solo un consejo.

Cierro el tema por doble post, si quieres responder a las preguntas que te hice aquí entonces hazlo en el otro post. :P

Saludos