RunMacro Documentation
Create your first robot, then go further as needed.
Clear step-by-step guides to create, run, and improve robots for repetitive computer work.
Branch on whether a file/folder exists in RunMacro
The IF File Exists command checks whether a path exists (a file, a folder, or a folder that contains files), then branches: true jumps to IF, false to ELSE.
Prerequisites#
- Add IF File Exists to the macro.
- Prepare the data or target that IF File Exists will use.
Supported modes#
- RunMacro Runner
What it does#
The IF File Exists command checks whether a path exists (a file, a folder, or a folder that contains files), then branches: true jumps to IF, false to ELSE. It supports */? wildcards and variables.
Screenshots & video#

When to use it#
- Only proceed when a data file is present (e.g. a download).
- Check a folder for new files to batch-process.
- Skip a step if the output file already exists.
When not to use it#
- Do not use a one-time existence check to wait for a file that is still downloading or being written.
Configuration steps#
- Add a Flow › IF File Exists command.
- Enter the path (variables and
*allowed). - To only test whether a folder contains files, tick "Only check whether a folder has files" (default ON — it hides the mode picker).
- If you untick it, choose the mode in the dropdown: File / Folder / File or Folder.
- Set IF/ELSE labels. Save.
Every option explained#
Expected result#
After execution, IF File Exists completes the described action and makes its result available to the next step.
Real example#
Example: process only when a download exists#
- IF File Exists, path
C:\Downloads, tick "Only check whether a folder has files". - IF label =
has_filefor the processing steps. - ELSE =
waitto wait or exit.
Limitations and failure cases#
- Existence does not prove a file is complete or readable; wildcards can overmatch and network paths can return transient results.
Tips & common mistakes#
* for pattern checks, e.g. *.csv to catch any new CSV file.Verification details#
commands/control_flow.py
