[Batch] Borrar Archivos segun su fecha

Iniciado por elecktra, 12 Agosto 2008, 03:38 AM

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

elecktra

Mira he probado y funciona de maravilla, lo que hice es cambiar la linea:

msgbox objfso.getfile(fi).path

por:

objfso.deletefile(objfso.getfile(fi).path)

y me elimina los archivos, el problema es que elimina y aparece un "msgbox" con el nombre de archivo que va eliminando y me obliga a hacer click en "Aceptar"

probe cambiando el "msgbox if" por un "delete if" y no funciono.
La idea es que sea automatico!
Gracias! saludos!

Novlucker

#21
 :xD... ooootra vez.... la vez pasada fue porque no lo había probado.. y esta vez por probarlo  :xD, me olvide de quitar un mensaje  :-[
Finalmente... revisa el code.. que ya lo he modificado  ;D
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

elecktra

Probado y aprobado, funciono de maravillas, porque la otra ves tuve que editarlo por cada carpeta que tenia, y era bastante largo el codigo..
Muchas Gracias! despues posteo el proyecto realizado completo y explico que hace!
Saludos!

elecktra

Hola maestro como va, tengo un ultmo problema, te cuento:
el tema es que empaquete el script en un BAT pero me falla y el problema es desde la linea:

if objfso.getfile(fi).parentfolder.name <> Registros then

el problema es que yo hago asi
le agrego el echo CODIGO >> del.vbs

pero como el codigo ya tiene un > no me lo exporta.
como puedo soluciobarlo?
gracias saludos!

Novlucker

Bueno... eso si no lo voy a hacer yo... te dejo el trabajo....  :-X
Pero el problema esta aquí.... como ya has visto.. hay caracteres que son utilizados con otros fines por ms-dos... por lo que funciones de *.vbs, como set deben de ser escapadas con ^... ej:
Código (dos) [Seleccionar]
echo ^set objfso = createobject(scripting.filesystemobject") >> del.vbs
echo if objfso.getfile(fi).parentfolder.name ^<^> Registros then >> del.vbs


Saludos

P.D:Como he comentado... los "set" también deben de ser escapados.. ya que echo set es propio de ms-dos  ;)
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

elecktra

no problem, gracias de todos modos! saludos!
posteare este problema!
saludos!

Novlucker

Citarposteare este problema!
Que es lo que debes postear? si ya te he dado la respuesta...  :¬¬

^<---esto esta en el ej anterior

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

elecktra

ahora si, yo habia probado pero oniendolo el simbolo despues de echho, pero iva antes del simbolo!
saludos
gracias!

javor

Hola soy nuevo en el foro y he visto que en temas de vbs, soy muy buenos y como tengo una duda, queria a ver si alguien me puede ayudar.
Yo necesitaria lo mismo que hace el script que se indica en este tema, pero yo lo que necesito no es borrar el resultado si no que es moverlo a una carpeta o incluso mas dificil, comprimierlo en un zip o rar. SI alguien me puede ayudar, se lo agradeceria mucho.

Saludos

dvreggionx

que complicado....

aca tenes una Solucion mas simple


forfiles /p "C:\CarpetaDeseada" /S /M *.* /D -5 /c "cmd /c del @path"


*.* se puede reemplazar por algun nombre en especial o por alguna extensión en especial por ejemplo *.exe
-5 son la cantidad de dias de antiguedad por ejemplo asi como esta ahora te va a borrar todos los archivos con una antiguedad mayor a 5 dias

esa linea editala a tu gusto, guardala desde un notepad como ScritBorraArchivosViejos.bat
y si queres que se ejecute todos los dias hacelo desde las tareas programadas de windows