Ir al contenido

ZIP Compress

Tipo: zip-compress  ·  Paquete: ZIP Activities v1.0.5  ·  Salida: string

Comprime una carpeta completa o una lista de archivos en un archivo ZIP. Devuelve la ruta del ZIP creado.

Indica el destino (destination) y una de las dos fuentes. Si indicas ambas, se usa sourceFolder y se ignora files.

  • sourceFolder: comprime todo su contenido (archivos y subcarpetas, incluidas las vacías), conservando la estructura. La carpeta en sí no aparece dentro del ZIP: su contenido queda en la raíz.
  • files: agrega cada archivo en la raíz del ZIP con su nombre (la carpeta de origen no se conserva). Los archivos que no existen se omiten con una advertencia en el log (Un archivo de la lista no se encontró y se omitió.), sin fallar; si no existe ninguno, el ZIP queda vacío. Evita dos archivos con el mismo nombre de carpetas distintas: quedarían duplicados dentro del ZIP.
  • Sobrescritura: con overwrite = true (por defecto) el ZIP existente se borra antes de comprimir; con false, la actividad falla si el destino existe.
  • Carpeta de destino: se crea si no existe. No guardes el ZIP dentro de la carpeta que estás comprimiendo.
ParámetroTipoPor defectoDescripción
destinationstring—Ruta del archivo ZIP de salida, con su carpeta.
ParámetroTipoPor defectoDescripción
sourceFolderstring—Carpeta a comprimir (todo su contenido). Indica esta o files.
filesList—Lista de rutas de archivos a comprimir (alternativa a sourceFolder). También acepta una sola ruta como texto.
overwritebooltrueReemplazar el ZIP de destino si ya existe.

Devuelve un string con la ruta del ZIP creado (tal como la indicaste en destination).

MensajeCausa y solución
Se requiere 'sourceFolder' o 'files'.No indicaste ninguna fuente (o ambas expresiones dieron nulo).
Could not find a part of the path '…'.sourceFolder no existe. Compruébalo con dirExists(carpeta) antes.
The file '…' already exists.El destino existe y overwrite es false.
The process cannot access the file '…' because it is being used by another process.El ZIP de destino o un archivo de origen está abierto en otro programa.
'destination' es obligatorio.La expresión de destination dio nulo.

Comprimir una carpeta:

ZIP Compress destination = "C:/envios/documentos.zip" sourceFolder = "C:/salida/documentos" → output: rutaZip
Log message = "ZIP listo en " + rutaZip

Comprimir archivos concretos y enviarlos:

List Files path = "C:/facturas" pattern = "*.pdf" → output: pdfs
ZIP Compress destination = "C:/envios/facturas.zip" files = pdfs → output: rutaZip
SMTP Send ... subject = "Facturas del mes" attachments = arr(rutaZip)