A quienes les gusta el scripting en batch, seguro se han preguntado alguna vez, como zippear un archivo desde el propio lenguaje, y la solución, ha sido siempre, buscar las carpetas de winzip o winrar en el sistema, para utilizar las aplicaciones de línea de comando que estos programas incluyen, lo que permitía comprimir un archivo, pero siempre dependiendo de un programa ajeno

El caso es que Win XP trae incorporado por defecto esta posibilidad ("enviar a carpeta comprimida en zip"), pero desde scripting no parecía posible acceder a ella

El caso es que... en vbscript si se puede


El método lo encontre googleando mucho, y haciendo una que otra prueba, he simplificado el código, y lo he comentado para que sea entendible ,y como verán... es realmente corto.. y he aqui... el code....

Código
Como se ve, el code es muy simple ,pero totalmente efectivo... en el caso de no poder escribir en C:, cambien c:\nzip.zip por una ruta válida para poder probarlo....
set objfso = createobject("scripting.filesystemobject") 'creamos el objeto que se encarga de manejar archivos set nzip = objfso.opentextfile("c:\nzip.zip",2,true) 'creamos el archivo zip, en este caso nzip.zip en el directorio C: nzip.write "PK" & chr(5) & chr(6) & string(18,chr(0)) nzip.close 'escribimos el encabezado del archivo, que hace que se reconozcan como zip set objsap = createobject("shell.application") 'creamos un nuevo objeto 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
Se que aquí la mayoría opta por batch, así que sería cuestión de crear el vbs por medio de echo, y cambiando wscript.scriptfullname por %0, así se comprimiría el *.bat

Eso fue todo... espero les sirva, creo que si porque más de una vez he leído a usuarios preguntado como comprimir archivos desde un script, y la respuesta siempre ha sido la misma... "buscar el directorio de winzip/winrar......."
Saludos
