Launches and Manages scripts and applications. Supports Terminal UI and Graphical UI and allows you to:
- Save and organize multiple scripts and applications
- Enable or disable scripts on demand
- Run scripts and applications using GUI or terminal
- Run everything silently on system startup
- Run multiple scripts simultaneously or sequentially
- Load multiple scripts from external file
- Use AutoHotkey built-in and environment variables
Download and run launcher.ahk. Add path to your script and click Run button. Create .lnk file in %AppData%\Microsoft\Windows\Start Menu\Programs\Startup to run this script on system startup: "path\to\launcher.exe" -autorun.
If you prefer command line, add launcher.exe to PATH. Then open powershell or cmd and type:
launcher --add=myscript.ahk launcher --run=myscript.ahk launcher -scripts
launcher.ahksupports GUI mode only.
launcher -scripts and launcher.ahk displays the same scripts. You can manage them from terminal and GUI simultaneously!
launcher --param=script1[;script2;script3...] launcher --param=@file launcher -switch launcher variable=value
| Pattern | Description | Example |
|---|---|---|
--param=value |
Execute a parameter with a value | launcher --run=script |
--param=val1;val2 |
Multiple values separated by semicolon | launcher --run=script1;script2 |
--param=@file |
Load values from external file | launcher --add=@list.ini |
-switch |
Execute a switch (no value) | launcher -autorun |
variable=value |
Set a custom variable | launcher myvar=C:\path |
Parameters perform specific actions on your scripts.
| Parameter | Description | Usage Example |
|---|---|---|
--add |
Add script(s) to the saved list | launcher --add=script.ahk |
--enable |
Enable script(s). Can add and enable simultaneously | launcher --enable=script.ahk |
--disable |
Disable script(s). Can add and disable simultaneously | launcher --disable=script.ahk |
--run |
Run enabled script(s) immediately | launcher --run=script.ahk |
--close |
Close running script(s) | launcher --close=script.ahk |
--remove |
Remove script(s) from the saved list | launcher --remove=script.ahk |
--sep |
Set custom separator for multiple scripts | launcher --sep=^ --run=s1^s2 |
Tip
Parameters can be combined in a single command. They execute in left-to-right order:
launcher --add=script1.ahk --add=script2.ahk --enable --run
Switches control global behavior and data management. They don't require values.
| Switch | Description | Use Case |
|---|---|---|
-autorun |
Run all enabled scripts automatically | Launch all your enabled scripts with one command |
-autoclose |
Close all running scripts | Shut down all active scripts |
-vars |
Display all saved variables | View your configured variables |
-scripts |
Display all saved scripts | See what scripts are registered |
-vars-clear |
Clear all saved variables | Reset all custom variables |
-scripts-clear |
Clear all saved scripts | Reset script registry |
-save |
Write all data to disk immediately | Force save without processing remaining parameters |
-restore |
Restore data from disk | Reload configuration from disk |
-verbose |
Show additional messages | Debug and see detailed output |
-help, -h, -? |
Show help message | Display built-in documentation |
launcher --add=quickswitch.ahk launcher --add=C:\Ahk\radify.ahk
In GUI you can specify path to the script in the input field and click Add at the bottom:
You can insert an absolute path (C:\AutoHotkey\QuickSwitch), a path relative to the current working dir (QuickSwitch) or just filename (script.ahk).
launcher --enable=quickswitch launcher --disable=radify
In GUI use buttons at the bottom to manage scripts:
By filename:
launcher --run=quickswitch
By full path:
launcher --run=C:\Ahk\quickswitch.ahk
You can run all scripts at once:
launcher -autorunTip
This switch runs all scripts and applications silently. You can create shortcut in %AppData%\Microsoft\Windows\Start Menu\Programs\Startup with this switch: "path\to\launcher.exe" -autorun.
launcher --close=quickswitch launcher -autoclose
launcher --remove=quickswitch launcher --remove=script1;script2;script3 launcher -scripts-clear
launcher -scripts launcher -scripts -verbose
Terminal switch -scripts and Graphical List View displays the same information, which means you can use both TUI and GUI to query required information.
By default, multiple scripts are separated by semicolon ;
launcher --run=quickswitch;radify;arrows
You can change this for batch operations:
launcher --sep=^ --run=quickswitch^radify^arrows
Separator is saved:
launcher --run=script1^script2 launcher --run=script3^script4
Separator can be changed in GUI. You can use it in the input field. separator
For batch/PowerShell special characters, use quotes to escape them:
launcher --sep='|' launcher --sep"|" launcher --sep='&'
Tip
If you need quotes inside quotes, escape them with backticks:
launcher --sep="`"" launcher --sep='`''
Load multiple scripts from external files using the @file, where file can be any path with @ prefix:
launcher --add=@list.in launcher --remove=@list.ini launcher --run=@scripts.ini
list.ini simply lists file paths:
AutoHotKey\MarkdownToBBCode\MarkdownToBBCode.exe
AutoHotKey\ChangeLogSorter\ChangeLogSorter-1.0.ahk
AutoHotKey\QuickSwitch\QuickSwitch.ahk
Paths can be on individual lines or on asingle line:
AutoHotKey\MarkdownToBBCode\MarkdownToBBCode.exe;AutoHotKey\ChangeLogSorter\ChangeLogSorter-1.0.ahk
AutoHotKey\QuickSwitch\QuickSwitch.ahk
; separator can be changed.
You can pass simple filename relative to current working directory:
launcher --add=@list.ini
...or pass quoted full path:
launcher --run=@'C:\Temp files\My scripts' launcher --run='@C:\Temp files\My scripts' launcher --run="@C:\Temp files\My scripts"
@file can be passed to any parameter. Use it to organize your scripts into logical groups and version control them easily.
Save and reuse custom variables that persist across sessions. For any parameter or GUI input field you can pass a path that contains environment variables; built-in AutoHotkey variables or manually defined variables (see below). Enclose the variables in percent signs %
launcher --run=%A_Temp%\DarkTheme.ahk launcher --add=%TEMP%\scripts.ini
To define a new variable with any value, simply write name=value without any prefix like -- or @
launcher mainDir=C:\Scripts\DarkGui launcher projectPath=C:\MyProject
Values with spaces must be escaped with quotes:
launcher mainDir="C:\My Scripts\Dark Gui" launcher projectPath='C:\Temp Scripts' launcher --run=%mainDir%\DarkTheme.ahk launcher --add=@'%projectPath%\scripts.ini'
New variable can hold literals and other variables, including env. vars:
launcher mainDir=%A_ScriptDir%\DarkGui launcher projectPath=%A_Temp%\myproject launcher dataPath=%AppData%\Data launcher --run=%mainDir%\DarkTheme.ahk launcher --add=%projectPath%\project.ahk --add=@%dataPath%\data.ini
Change variable values within a single command to control different execution paths:
launcher AhkDir=C:\Ahk --run=%AhkDir%\quickswitch AhkDir=C:\Scripts --run=%AhkDir%\radify
First part runs script from C:\Ahk, second part runs script from C:\Scripts. In the end AhkDir variable holds last path, i.e. C:\Scripts. So you can reuse it later.
Pass empty value or unset to remove existing variable:
launcher mainDir= launcher mainDir=unset
Non-existing variable cannot be initialized with empty value!
You can remove all variables:
launcher -vars-clear
Variables can be passed to any parameter and file list (@file)
launcher listfile=C:\config\scripts.ini --add=@%listfile% launcher --run=%A_ScriptFullPath% launcher projectPath=C:\Long Long Path launcher --add=@'%projectPath%\My Scripts\scripts.ini'
File list (@file) can contain scripts, variables, and AutoHotkey variables separated by your chosen separator:
C:\s1.ahk;C:\s2.ahk
C:\%A_Temp%\s3.ahk
C:\%myvar%\s4.ahk
%A_ScriptDir%\local.ahk
Newline "`n" serves as separator too, so you can group scripts on individual lines:
C:\s1.ahk;C:\s2.ahk
C:\%A_Temp%\s1.ahk;C:\%A_Temp%\s2.ahk
Basic workflow:
launcher --add=quickswitch.ahk launcher --enable=quickswitch launcher --run=quickswitch
Multiple scripts:
launcher --add=script1.ahk --add=script2.ahk --add=script3.ahk launcher --run=script1.ahk;script2.ahk;script3.ahk
Project setup with variables:
launcher projectDir=C:\MyProject launcher scriptsFile=%projectDir%\scripts.ini launcher --add=@%scriptsFile% launcher --enable launcher -autorun
Development and Production:
launcher env=dev --run=%env%\test.ahk env=release --run=%env%\public.ahk
Custom separator for readable scripts list:
launcher --sep=| --run=cleanup|optimize|backup|report
Load from external file:
launcher --add=@'C:\Scripts\utilities.ini' launcher --enable launcher -autorun -verbose launcher -autoclose -save -vars-clear
Each parameter can modify some internal data: variables, scripts paths, etc. Data is normally written to disk after all parameters are processed to reduce disk I/O operations. Use -save if you need to save data immediately:
launcher --add=script1 --add=script2 -save launcher -restore -verbose
Backup your .ini configuration: -save and -restore aren't magical switches, they can fail to restore previous version.
If something doesn't working as expexted, please report about it. You can pass -verbose swith to each command to get additional information.
If you're using terminal, attach this information to report please. In GUI mode use ShareX or IceCream screen recorder to record a video/gif with unexpected behavior.