> 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/french/function-blocks/blocks-reference/input-output/outputs-exports/file-folder-operations.md).

# File/Folder Operations

Ce bloc de fonction fournit un point unique pour effectuer de nombreuses tâches courantes sur les fichiers et dossiers (lister, lire, écrire, déplacer, supprimer, joindre des chemins, etc.). Sélectionnez l'opération souhaitée dans le menu déroulant et le bloc présentera les entrées et sorties appropriées pour cette opération.

## 📥 Inputs

Ce bloc propose des entrées dynamiques qui changent en fonction de l'opération sélectionnée. Noms d'entrées courants que vous pouvez voir :

* `Folder Path` — Chemin vers un dossier pour la liste ou la création de répertoires
* `Path` — Chemin complet d'un fichier pour la lecture, la suppression ou la vérification d'existence
* `File Name` ou `Names` — Composants utilisés pour joindre des chemins ou construire des noms de fichiers
* `Content` — Contenu texte à enregistrer ou à ajouter dans un fichier
* `Source Path` et `Destination Path` — Chemins utilisés pour les opérations de copie / déplacement
* `(Generic)` — D'autres entrées spécifiques à l'opération peuvent apparaître selon l'opération choisie

Note : les entrées apparaissent et disparaissent pour correspondre à l'opération sélectionnée. Branchez uniquement les sockets affichés après avoir choisi l'opération.

## 📤 Outputs

Les sorties changent aussi selon l'opération choisie. Noms de sorties courants :

* `Files` — Liste des fichiers trouvés dans un répertoire
* `Folders` — Liste des sous-dossiers trouvés dans un répertoire
* `Image Files` / `Video Files` — Listes des fichiers médias dans un dossier
* `Name` / `Extension` — Parties d'un chemin de fichier renvoyées lors d'un split
* `Content` — Texte du fichier renvoyé lors de la lecture d'un fichier
* `Exists` — Booléen indiquant si un chemin existe
* `Lines` — Contenu du fichier renvoyé sous forme de liste de lignes
* `(Generic)` — D'autres résultats spécifiques à l'opération peuvent apparaître

Lorsqu'une opération renvoie plusieurs sorties, des sockets séparés sont ajoutés afin que vous puissiez utiliser chaque résultat indépendamment.

## 🕹️ Controls

* `Choose Operation` — Un menu déroulant listant les opérations fichiers/dossiers disponibles. La sélection met à jour les sockets d'entrée et de sortie disponibles.
* `Run` (implicite) — Le bloc exécute l'opération choisie lorsque le scénario s'exécute et fournit les résultats sur les sockets correspondants.

Note : changer la valeur de `Choose Operation` met à jour les sockets. Si vous changez d'opération, revérifiez les connexions vers les sockets mis à jour.

## 🎯 Key Features

* Sockets dynamiques : les entrées et sorties changent pour correspondre à l'opération fichier/dossier sélectionnée afin que vous ne voyiez que les sockets pertinents.
* Large éventail d'opérations : lister des dossiers, lister images/vidéos, lire et écrire des fichiers, ajouter du contenu, créer/supprimer des répertoires, copier/déplacer des fichiers, scinder des chemins, joindre des composants de chemin, etc.
* Sorties granulaires : de nombreuses opérations fournissent plusieurs sorties (par exemple, la liste renvoie séparément les fichiers et les dossiers).
* Conçu pour des workflows visuels : prévu pour être connecté à d'autres blocs afin de construire des flux de gestion de fichiers sans script.

## 📝 How to use

1. Sélectionnez l'opération souhaitée depuis le menu `Choose Operation`.
2. Le bloc mettra à jour ses sockets d'entrée et de sortie pour correspondre à l'opération.
3. Connectez les entrées requises (par exemple `Folder Path` ou `Path`) depuis d'autres blocs comme `Choose Folder` ou `String Input`.
4. Exécutez le scénario. Les résultats apparaîtront sur les sockets de sortie (par exemple `Files`, `Content` ou `Exists`).
5. Si vous changez d'opération, vérifiez et reconnectez les sockets qui ont été déplacés ou modifiés.

## 💡 Tips and Tricks

* Pour sélectionner un dossier visuellement avant d'utiliser les opérations fichiers, associez ce bloc avec `Choose Folder`.
* Pour traiter des images trouvées dans un dossier, utilisez l'opération `List Images` ici et alimentez les résultats vers `Load Image From Path` ou `Load Image`.
* Utilisez l'opération `Join Path` avec le bloc `Mux` pour construire des chemins de fichiers complets à partir de parties.
* Lors de l'enregistrement ou du journalisation de nombreuses images, combinez avec `Image Logger`, `Image Write` ou `Multi Image Write` pour persister les résultats.
* Pour une exportation structurée des données, envoyez les sorties vers `CSV Export` ou `Data Write Local` / `Data Write Global`.
* Utilisez `String Input` ou `String Merge` pour préparer du contenu texte avant d'enregistrer avec une opération save/append.
* Pour prévisualiser des fichiers ou images renvoyés par des opérations de liste, connectez à `Show Image` ou `Load Image From Path` puis `Show Image`.
* Si vous devez redimensionner des images avant l'enregistrement, combinez avec `Image Resizer`.
* Pour des flux conditionnels (par ex. n'enregistrer que lorsqu'un fichier n'existe pas), combinez l'opération `Check Existence` avec des blocs logiques tels que `Logic Input` et `And`/`Or`.

## 🛠️ Troubleshooting

* Si aucune sortie n'apparaît après l'exécution, vérifiez que vous avez sélectionné la bonne opération et connecté les entrées requises visibles sur le bloc.
* Pour les erreurs de permission ou d'échec d'écriture de fichiers, assurez-vous que le chemin du dossier cible est valide et que l'application a la permission d'écriture à cet emplacement.
* Lorsque les chemins contiennent des séparateurs inattendus, utilisez l'opération `Join Path` du bloc (ou fournissez des chemins normalisés depuis des blocs en amont) pour éviter des chemins mal formés.
* Si une opération de liste renvoie des résultats vides, confirmez que le dossier contient réellement des fichiers correspondants (essayez d'abord `List Folder Contents`).
* Après avoir changé la sélection `Choose Operation`, revérifiez les connexions : la position et le nombre de sockets peuvent avoir changé.
