> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/input-output/outputs-exports/file-folder-operations.md).

# File/Folder Operations

Este bloque de función ofrece un único lugar para realizar muchas tareas comunes con archivos y carpetas (listar, leer, escribir, mover, eliminar, unir rutas, etc.). Seleccione la operación deseada en el desplegable y el bloque mostrará las entradas y salidas correspondientes a esa operación.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

Este bloque proporciona entradas dinámicas que cambian según la operación seleccionada. Nombres de entradas comunes que puede ver:

`Folder Path` Ruta a una carpeta cuando se listan o crean directorios\
`Path` Ruta completa a un archivo cuando se lee, elimina o verifica existencia\
`File Name` o `Names` Componentes usados para unir rutas o construir nombres de archivo\
`Content` Contenido de texto para guardar o añadir a un archivo\
`Source Path` y `Destination Path` Rutas usadas para operaciones de copia / movimiento\
`(Generic)` Pueden aparecer otras entradas específicas según la operación elegida

Nota: las entradas aparecen y desaparecen para coincidir con la operación seleccionada. Conecte solo los sockets que se muestran después de elegir la operación.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

Las salidas también cambian con la operación elegida. Nombres de salidas comunes:

`Files` Lista de archivos encontrados en un directorio\
`Folders` Lista de subcarpetas encontradas en un directorio\
`Image Files` / `Video Files` Listas de archivos multimedia en una carpeta\
`Name` / `Extension` Partes de una ruta de archivo devueltas al dividirla\
`Content` Texto del archivo devuelto al leer un archivo\
`Exists` Booleano que indica si una ruta existe\
`Lines` Contenido del archivo devuelto como lista de líneas\
`(Generic)` Pueden aparecer otros resultados específicos de la operación

Cuando una operación devuelve varias salidas, se añadirán sockets separados para que pueda usar cada resultado de forma independiente.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`Choose Operation` Un desplegable que lista las operaciones de archivo y carpeta disponibles. Al seleccionar una operación se actualizan los sockets de entrada y salida disponibles.

`Run` (implícito) El bloque ejecuta la operación elegida cuando se ejecuta el escenario y entrega las salidas en los sockets correspondientes.

Nota: Cambiar el valor de `Choose Operation` actualiza los sockets. Si cambia la operación, verifique nuevamente las conexiones a los sockets actualizados.

## 🎯 Características principales <a href="#features" id="features"></a>

* Sockets dinámicos: las entradas y salidas cambian para coincidir con la operación seleccionada, por lo que solo verá los sockets relevantes.
* Amplio conjunto de operaciones: listar carpetas, listar imágenes/videos, leer y escribir archivos, añadir, crear/eliminar directorios, copiar/mover archivos, dividir rutas, unir componentes de rutas y más.
* Salidas detalladas: muchas operaciones proporcionan múltiples salidas (por ejemplo, listar devuelve listas separadas de archivos y carpetas).
* Diseñado para flujos visuales: pensado para conectarse con otros bloques y construir flujos de manejo de archivos sin programar.

## 📝 Cómo usar <a href="#usage" id="usage"></a>

1. Seleccione la operación deseada en el desplegable `Choose Operation`.
2. El bloque actualizará sus sockets de entrada y salida para coincidir con la operación.
3. Conecte las entradas requeridas (por ejemplo, `Folder Path` o `Path`) desde otros bloques como `Choose Folder` o `String Input`.
4. Ejecute el escenario. Los resultados aparecerán en los sockets de salida (por ejemplo, `Files`, `Content` o `Exists`).
5. Si cambia la operación, revise y reconecte los sockets que se hayan movido o cambiado.

## 💡 Consejos y Sugerencias <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Para elegir una carpeta visualmente antes de usar operaciones de archivo, combine este bloque con `Choose Folder`.
* Para procesar imágenes encontradas en una carpeta, use la operación `List Images` aquí y alimente los resultados a `Load Image From Path` o `Load Image`.
* Use la operación `Join Path` junto con el bloque `Mux` para construir rutas completas a partir de partes.
* Al guardar o registrar muchas imágenes, combine con `Image Logger`, `Image Write` o `Multi Image Write` para persistir resultados.
* Para exportar datos de forma estructurada, envíe las salidas a `CSV Export` o a los bloques `Data Write Local`/`Data Write Global`.
* Use `String Input` o `String Merge` para preparar contenido de texto antes de guardarlo con una operación de guardar/añadir.
* Si necesita previsualizar archivos o imágenes devueltas por operaciones de listado, conéctelas a `Show Image` o a `Load Image From Path` y luego a `Show Image`.
* Si necesita redimensionar imágenes antes de guardarlas, combine con `Image Resizer`.
* Para flujos condicionales (por ejemplo, guardar solo cuando un archivo no existe), combine la operación `Check Existence` con bloques lógicos como `Logic Input` y `And`/`Or`.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Si no aparece ninguna salida después de ejecutar, verifique que seleccionó la operación correcta y que conectó las entradas requeridas visibles en el bloque.
* Para errores de permisos o fallos al escribir archivos, asegúrese de que la ruta de la carpeta destino sea válida y de que la aplicación tenga permiso de escritura en esa ubicación.
* Cuando las rutas contienen separadores inesperados, use la operación `Join Path` del bloque (o proporcione rutas normalizadas desde bloques aguas arriba) para evitar rutas mal formadas.
* Si una operación de listado devuelve resultados vacíos, confirme que la carpeta contiene realmente archivos coincidentes (pruebe primero con `List Folder Contents`).
* Después de cambiar la selección de `Choose Operation`, vuelva a comprobar las conexiones: la posición y cantidad de sockets puede haber cambiado.
