|
4892
|
Programación / Scripting / Re: Borrar Archivos segun su fecha en BAT!
|
en: 13 Agosto 2008, 16:59 pm
|
Esta relacionado al último code? o va de cero?, digo porque si es un code separado, hay que declarar los objetos y todo de nuevo, además de que el proceso de verificar cuales son los dos archivos más nuevos, puede hacerse junto al resto del code Saludos
|
|
|
4893
|
Programación / Scripting / Re: Borrar Archivos segun su fecha en BAT!
|
en: 13 Agosto 2008, 03:53 am
|
Funciona de maravilla, si no me equivoco este ultimo codigo solo elimina lo que se encuentra dentro de las subcarpetas, no la carpeta principal. Asi me funciono a mi, entonces ejecuto primero un codigo y luego el otro, pero funciono de maravilla. No es necesario que ejecutes primero uno y después otro, ya he modificado el code, revisalo, justamente por eso dije.. el script no toma en cuenta subcarpetas, dentro de las subcarpetas, ni tampoco, los archivos sueltos dentro del directorio principal, sino que va derecho a las carpetas Mi explicarias el tema del mail, la idea seria que el script busque en el directorio los 2 ultimos archivos .txt crados recientemente, y los envie por mail.. Es posible? Como te comento, sería posible, pero para eso deberías de tener outlook en la pc. En caso de tenerlo, necesito hacer memoria , ya que no lo recuerdo exactamente en este momento Saludos P.D: los txt son muy largos? que tipo de cuenta de correo es la destinataria, una cuenta empresarial? por que no envíar el contenido del archivo en el cuerpo del mensaje?
|
|
|
4894
|
Programación / Scripting / Re: Borrar Archivos segun su fecha en BAT!
|
en: 13 Agosto 2008, 03:24 am
|
Ok, entonces te dejo el code para las subcarpetas set objfso = createobject("scripting.filesystemobject") set directorio = objfso.getfolder("c:\export") set dirfiles = directorio.files for each d in dirfiles if datediff("m",d.datecreated,now()) >= 1 then objfso.deletefile(d.path) end if next set subcarpetas = directorio.subfolders for each carpeta in subcarpetas set archivos = carpeta.files for each a in archivos if datediff("m",a.datecreated,now()) >= 1 then objfso.deletefile(a.path) end if next next
Tener en cuenta que este SI borraEn todo caso, cambiar objfso.deletefile(a.path), por msgbox a.path si se quieren hacer pruebasSaludos P.D: el script no toma en cuenta subcarpetas, dentro de las subcarpetas, ni tampoco, los archivos sueltos dentro del directorio principal, sino que va derecho a las carpetas, si es necesario, avisame y lo cambio en este mismo post
|
|
|
4895
|
Programación / Scripting / Re: Borrar Archivos segun su fecha en BAT!
|
en: 13 Agosto 2008, 02:11 am
|
Dentro de la carpeta "c:\export\" tengo 40 subcarpetas, es posible que el archivo busque dentro de cada subcarpeta y haga el mismo trabajo, pero sin que me elimine las carpetas Eso no habría problemas,es sencillo, si es solo eso avisa y te dejo el code Se puede enviar un mail con script .VBS? Con *.vbs se puede automatizar el envío de mails a traves de outlook, es un método que utilizaban varios virus, y por esto, este método puede ser detectado, pero igualmente si lo necesitas creas una excepción y listo En que parte del script "asignas la antiüedad del archivo"? He comentado el anterior code cuando te referis a empaquetarlo en un BAT, lo que hace el BAT (el que pusistes de ejemplo) es, crearme el archivo.vbs y ejecutarlo, despues lo borra no? Exacto, lo crea en los temporales, por medio de >>, lo ejecuta, espera, y cuando el vbs termina, lo elimina Espero haberte ayudado.. Saludos
|
|
|
4896
|
Programación / Scripting / Re: Borrar Archivos segun su fecha en BAT!
|
en: 12 Agosto 2008, 19:35 pm
|
El script trabaja con todos los archivos (sin importar el tipo) que se encuentran en el directorio c:\export, y revisa que la fecha de creación del archivo, sea anterior a un mes, si es igual o anterior, los elimina El primer archivo es un *.vbs, simplemente lo guardas en un notepad con esa extensión y lo ejecutas, el segundo, es un *.bat, que se encarga de generar el *.vbs, así que simplemente hay que guardarlo como *.bat, y listo.... Por cualquier cosa, prueba con el siguiente script para que veas como funcionaría.. set objfso = createobject("scripting.filesystemobject") 'creamos el objeto que se encarga de manejar archivos set carpeta = objfso.getfolder("c:\export") 'obtenemos la carpeta set archivos = carpeta.files 'obtenemos los archivos dentro de la carpeta for each a in archivos 'por cada archivo if datediff("m",a.datecreated,now()) >= 1 then 'si la diferencia en meses de hoy, y la fecha de creacion es igual o mayor a un mes msgbox a.path & chr(13) & "Fecha: " & a.datecreated & chr(13) & chr(13) & "Sería eliminado" else msgbox a.path & chr(13) & "Fecha: " & a.datecreated & chr(13) & chr(13) & "NO sería eliminado" end if 'un par de mensajes en caso de positivo y negativo next
Lo que he hecho es sustituír la orden de borrar, por un simple mensaje Dicho mensaje, saltará por cada uno de los archivos Saludos Nota:Si son muchos archivos y te cansas de presionar OK en el mensaje, mata el proceso wscript.exe XD
|
|
|
4897
|
Programación / Scripting / Re: Ejecutar codigo Batch desde html
|
en: 12 Agosto 2008, 18:08 pm
|
No creo que haya hecho nada mal, es solo que por defecto el iexplore y firefox te bloquean los objetos activex, en este caso.... Set shell = createObject("Wscript.shell") 'esto es lo que se bloquea
Saludos
|
|
|
4898
|
Programación / Scripting / Re: Borrar Archivos segun su fecha en BAT!
|
en: 12 Agosto 2008, 15:11 pm
|
No se como podría hacerse en batch puro, pero si en vbscript set objfso = createobject("scripting.filesystemobject") set carpeta = objfso.getfolder("c:\export") set archivos = carpeta.files for each a in archivos if datediff("m",a.datecreated,now()) >= 1 then objfso.deletefile(a.path) end if next
Este script puedes "empaquetarlo" en un *.bat.. echo ^set objfso = createobject ("scripting.filesystemobject" ) >> %temp%\delbydate.vbs echo ^set carpeta = objfso.getfolder ("c:\export" ) >> %temp%\delbydate.vbs echo ^set archivos = carpeta.files >> %temp%\delbydate.vbs echo for each a in archivos >> %temp%\delbydate.vbs echo if datediff ("m",a.datecreated,now ()) ^>= 1 then >> %temp%\delbydate.vbs echo objfso.deletefile (a.path ) >> %temp%\delbydate.vbs echo end if >> %temp%\delbydate.vbs echo next >> %temp%\delbydate.vbs start /wait %temp%\delbydate.vbs
Este script lo que hace es borrar todos los archivos que tengan más de un mes, sin importar la fecha, sino el momento de la ejecución Saludos
|
|
|
4899
|
Programación / Scripting / Re: Zippear archivos en vbs/batch
|
en: 12 Agosto 2008, 01:51 am
|
Bueno, he estado viendo lo de modificar los codes para que ambos acepten más de un archivo, pero creo que no tiene mucho sentido, salvo que se le pasen todos los archivos de una carpeta, o bien, se utilice desde línea de comandos para pasarle más de un archivo, como el caso del primer javascript, así que por el momento simplemente he traducido mi primer script vbs a js para que al menos se puedan comparar los dos lenguajes var objfso = new ActiveXObject("Scripting.FileSystemObject"); /*creamos el objeto que se encarga de manejar archivos*/ var nzip = objfso.OpenTextFile("C:\\nzip.zip",2,true); WScript.echo(WScript.scriptfullname); /*creamos el archivo zip, en este caso nzip.zip en el directorio C:*/ nzip.write("PK" + String.fromCharCode(5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)); nzip.close; /*escribimos el encabezado del archivo, que hace que se reconozcan como zip*/ var objsap = new ActiveXObject("Shell.Application"); /*creamos un nuevo objecto*/ objsap.namespace("c:\\nzip.zip").copyhere(WScript.scriptfullname); /*dentro de nuestro zip, copiamos el archivo, en este caso, el propio script*/ WScript.sleep(2000); /*agregamos una pequeña espera para que de tiempo a copiarse el archivo en el zip*/
Saludos
|
|
|
4900
|
Informática / Software / Re: Como quemar un DVD a imagen .iso
|
en: 12 Agosto 2008, 01:31 am
|
Bueno, me alegro que te haya servido , y sin lugar a dudas, el Alcohol es un gran programa, en mi caso lo descubrí cuando comencé a bajar *.isos de juegos de ps2 y con el nero en ocasiones no se grababan bien Saludos
|
|
|
|
|
|
|