Ino Copy Files
Copy a folder's worth of files, with renaming, straight from the graph
- success
- message
- rel_path
- abs_path
- logs
Copying files inside ComfyUI is usually a sign you've left the app - a terminal, a file manager, a script. Ino Copy Files pulls it back in: it copies files from one folder to another, optionally recursing into subfolders and renaming as it goes. The description keeps it simple: "Copies files from one folder to another with optional renaming."
It's the non-destructive sibling of InoMovePath. Move reallocates, copy duplicates - and because it's a copy, running it twice doesn't destroy your source. That makes it the safer default for staging, backups, and pre-upload assembly.
How it works
Give it a source (parent folder + folder) and a destination (parent folder + folder). It resolves both to real paths under ComfyUI's input/output/temp roots, then copies. Two toggles shape the behavior:
- iterate_subfolders (default true) - recurse into subfolders of the source, or copy only the top level.
- rename_files (default true) - rename each copied file using prefix_name (default
file), so you getfile_1,file_2, ... instead of clashing original names. Turn it off to keep original filenames.
Outputs follow the family pattern: success, message, rel_path, abs_path - plus logs, a STRING listing what was copied, which is genuinely useful for verifying a batch.
The inputs that matter
- from_parent_folder / from_folder - the source.
- to_parent_folder / to_folder - the destination.
- iterate_subfolders - recurse or not.
- rename_files + prefix_name - rename on copy and with what prefix.
Where it wires in
Staging before an upload (copy the finished set to a clean folder, then zip or push it), backing up a model or config folder before a workflow mutates it, or spreading one batch's results across per-run folders. Because it's a copy, it slots into pipelines where you want the originals intact for later passes.
Installing it
Part of ComfyUI-InoNodes. ComfyUI Manager → search "ComfyUI Ino Nodes" → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/ComfyUI-InoNodes
cd comfyui_ino_nodes
pip install -r requirements.txt
Restart after. No keys, no models.
Common issues
The rename default surprises people first. rename_files is on by default, so if you copy expecting original names, you'll get file_1, file_2... - flip the toggle if you want identity. Second, keep source and destination straight: copy into the source folder itself, or a folder inside it, and recursion can loop or duplicate. And check the logs output when a run looks off - it tells you exactly what was copied, which is faster than guessing. If success comes back false with a "Node is disabled" message, that's the enabled toggle doing its thing, not an error.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| from_parent_folder | COMBO | 3 options: input, output, temp | |
| from_folder | STRING | — | |
| to_parent_folder | COMBO | 3 options: input, output, temp | |
| to_folder | STRING | — | |
| iterate_subfolders | BOOLEAN | true | — |
| rename_files | BOOLEAN | true | — |
| prefix_name | STRING | file | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| message | STRING | — |
| rel_path | STRING | — |
| abs_path | STRING | — |
| logs | STRING | — |