ZIP Extract
ZIP Extract
Sección titulada «ZIP Extract»Tipo: zip-extract · Paquete: ZIP Activities v1.0.5 · Salida: string
Extrae el contenido de un archivo ZIP a una carpeta de destino. Devuelve la ruta de la carpeta donde se extrajo. Útil para procesar archivos que llegan comprimidos (un correo con un ZIP de facturas).
Cómo funciona
Sección titulada «Cómo funciona»Descomprime el ZIP de source dentro de destination, conservando las subcarpetas que trae.
- Carpeta de destino: se crea si no existe. Si ya tiene archivos, los conserva; los que coinciden en nombre se reemplazan (con
overwrite = true, por defecto). - Con
overwrite = false, la actividad falla al encontrar el primer archivo que ya existe; los archivos anteriores a ese ya quedaron extraídos. - Seguridad: si una ruta interna del ZIP intentara salir de
destination, la actividad falla sin escribir fuera de ella. - El ZIP original no se modifica ni se borra. ZIP con contraseña no se admiten.
- En el log queda cuántos archivos hay en la carpeta de destino tras extraer (incluye los que ya estaban).
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
source | string | — | Ruta del archivo ZIP a extraer. |
destination | string | — | Carpeta donde extraer el contenido. |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
overwrite | bool | true | Reemplazar los archivos que ya existan en destination. |
Devuelve un string con la ruta de la carpeta de destino (tal como la indicaste en destination). Para obtener los archivos extraídos, lista esa carpeta con List Files.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
No se encontró el archivo ZIP. | source no existe. Compruébalo con File Exists. |
End of Central Directory record could not be found. | El archivo no es un ZIP válido (dañado, incompleto o de otro formato, como .rar o .7z). |
The file '…' already exists. | overwrite es false y un archivo del ZIP ya existe en el destino. Extrae a una carpeta vacía o usa overwrite = true. |
Extracting Zip entry would have resulted in a file outside the specified destination directory. | El ZIP contiene rutas que apuntan fuera de la carpeta de destino. No es un ZIP confiable. |
'source' es obligatorio. / 'destination' es obligatorio. | La expresión del parámetro dio nulo. |
Ejemplo
Sección titulada «Ejemplo»Extraer un ZIP a una carpeta propia de la ejecución y procesar sus archivos:
ZIP Extract source = rutaZip destination = pathJoin("C:/temp/extraido", now().ToString("yyyyMMdd_HHmmss")) → output: carpetaList Files path = carpeta pattern = "*.xlsx" recursive = true → output: archivosFor Each items = archivos itemVariable = ruta └─ activities: Read Excel Sheet path = ruta → output: datos ... procesar ...Actividades relacionadas
Sección titulada «Actividades relacionadas»- ZIP Compress — la operación inversa.
- List Files — listar lo extraído.