Compact portable manager for CMD, BAT, PowerShell, and VBS scripts on Windows, maintained by iMiKED from 4PDA.
Cmds Manager is a lightweight Windows tray application for organizing, running, monitoring, and stopping local automation scripts. It keeps a searchable script catalog in a portable INI file and presents captured output in a modern tabbed console workspace. The current source version is 1.2.0.
The application is built with C# and Windows Forms for .NET Framework 4.8. The release contains one production executable and does not bundle PowerShell, .NET, Chromium, Qt, Python, or another large runtime.
If you like Cmds Manager or it saves you time, you can support the author:
- Russia transfers: Ozon Bank / SBP
- VISA:
4400430236422744 - Buy Me a Coffee
- PayPal
- Boosty
- USDT Ethereum (ERC20):
0xBd0593dDF1DFC7fD95bB6F4e6A5c73Da44048B40 - USDT TON:
UQCr2Fp7t34QFuO4IesN3Lo3186a93Z1B7Wu76imr6APIXgk - USDT Tron (TRC20):
TE5A3GT84eJ9iT3mYYLv1KXJnMaiZFxNuA
- Add, edit, remove, enable, and disable script entries
- Organize scripts and nested folders in one tree table while keeping every runtime column available
- Keep scripts at the top level or drag them into, between, and out of folders
- Reorder folders and scripts with a precise insertion line; pause over a closed folder to expand it before dropping at an exact position
- Choose one of 30 vector icons and 12 theme-aware colors from a compact popup embedded in the folder-name field
- Keep drag-and-drop feedback smooth with double-buffered rows and a narrowly invalidated insertion line
- Start, stop, or restart a folder to apply the action to all descendant scripts
- Start or stop one script, all selected scripts, or the complete managed set
- Open script files in an external editor without executing them accidentally
- Configure interpreter, arguments, working directory, window mode, output encoding, parallel instances, stop policy, and stop timeout per script
- Start selected scripts automatically when Cmds Manager starts
- Control auto-start order and per-script delay
- Run CMD, BAT, PowerShell, and VBS scripts without elevation
- Support Windows PowerShell 5.1 and an optional PowerShell 7 installation
- Assign launched processes to a Windows Job Object
- Stop the complete managed process tree when a script, console tab, or Cmds Manager itself is closed
- Redirect supported child
start ... cmdlaunches back into Cmds Manager as neighboring console tabs instead of separate console windows - Display a persistent green running indicator and live PID/state information
- Capture stdout and stderr in a dedicated tab for every managed launch
- Batch UI updates for responsive high-volume output
- Configure the displayed history buffer size for every console
- Decode UTF-8, Windows-1251, OEM Windows, UTF-16 LE, or mixed output in Auto mode
- Re-decode already captured bytes after changing a tab's encoding
- Search the active console, navigate matches, and control scrolling with
configurable hotkeys (
Ctrl+F,F3,Shift+F3, andScroll Lockby default) - Record each console to a dedicated UTF-8 file automatically or on demand; pause, resume, stop, and enforce a hard per-file size limit
- Configure the font, text color, background color, tab colors, and opacity
- Store Word Wrap separately for every script and its managed child tabs
- Copy selected text or save the selection/full console buffer to a file
- Close a tab and stop its process with the tab close button
- Detach a running tab into its own window without restarting the process
- Maximize the console workspace or show the active console full-screen
- Resize the console area and persist its height in the INI file
- Open or hide the main window with one click on the notification-area icon
- Configure all application and console hotkeys on a dedicated Fluent settings page; each action can be disabled or reset to its default combination
- Register optional global Show App, Quick Launch, and Emergency Stop All hotkeys while Cmds Manager is running
- Use a compact borderless Spotlight/PowerToys Run-style Quick Launch surface with anti-aliased corners and an even four-sided shadow, without first opening the main window
- Search enabled scripts by name, path, interpreter, or fuzzy text; each result
shows its interpreter, full-path tooltip, live process state, and
Enterhint - Activate a result with one click or
Enter: stopped scripts start, while a running script opens the main window and selects its existing console - Open the script editor from the permanent Add script… row at the end of Quick Launch results
- Close the main window to the tray or exit explicitly
- Start Cmds Manager with Windows for the current user
- Save main-window position, size, maximized state, and console-pane height
- Recover the main window automatically if Windows leaves it at an invisible minimized sentinel position or a saved monitor is no longer available
- Choose System, Light, or Dark Fluent Compact themes
- Use English or Russian interface strings stored in the INI file
- View version, build time, author, license, website, and donation links in About
| File type | Interpreter options | Captured console output |
|---|---|---|
.cmd, .bat |
cmd.exe |
Yes |
.ps1 |
Windows PowerShell 5.1 or PowerShell 7 | Yes |
.vbs |
cscript.exe or wscript.exe |
With cscript.exe |
Auto selects the interpreter from the file extension. PowerShell 7 is optional
and is only required by entries that explicitly select it.
- Windows 10 or Windows 11 x64
- .NET Framework 4.8
- Write access to the extracted portable directory
- PowerShell 7 only when selected for a script
Cmds Manager does not request administrator privileges. Processes requiring UAC must be launched outside the managed process tree.
- Windows 10 or Windows 11 x64
- Visual Studio 2022 Build Tools or Visual Studio 2022 with MSBuild
- PowerShell 5.1 or later
- Git
The .NET Framework reference assemblies used during compilation are restored as a development-only NuGet dependency. They are not included in the release.
- Download the latest Portable ZIP from GitHub Releases.
- Extract the complete archive to a permanent directory where your account can create and update files.
- Run
CmdsManager.exe. - Add scripts through the toolbar or edit
CmdsManager.iniand choose Reload INI.
On first start, CmdsManager.ini is created next to the executable from the
included CmdsManager.ini.example template.
Cmds Manager keeps its portable configuration beside the executable. Relative
paths are resolved from this directory and Windows environment variables such as
%SystemRoot% are expanded.
| INI section | Purpose |
|---|---|
[Application] |
Theme, tray behavior, auto-start, editor, logs, window geometry, console behavior and appearance |
[Hotkeys] |
Enabled state and key combination for every global, application, tab, and console action |
[Defaults] |
Initial launch profile for newly added scripts |
[PowerShell] |
Optional path to pwsh.exe |
[Localization] |
Active language |
[Strings.en], [Strings.ru] |
Editable interface strings |
[Folder:<GUID>] |
Nested folder parent, shared order, icon, color, and expansion state |
[Script:<GUID>] |
One saved script, optional folder, shared order, and complete launch profile |
The complete English and Russian user guide, version history, and reference for every INI setting are available in Readme.txt.
Application event logs are written to the logs directory beside the executable.
Dedicated console recordings are UTF-8 files under logs\console; they can be
started manually or for every new console with ConsoleAutoRecord=true, paused,
resumed, and stopped without affecting the process. ConsoleLogMaxSizeMb limits
each recording. LogScriptOutput=true separately copies captured stdout/stderr
into the application event log and can therefore duplicate output. Script output
can contain tokens, passwords, paths, or personal data, so logging should only be
enabled when required.
From a PowerShell prompt in the repository root:
.\build.ps1The script restores dependencies, builds Release x64, runs the standalone test
suite, and creates a portable archive under artifacts:
artifacts/CmdsManager-portable-<version>-win-x64.zip
To compile and package without running tests:
.\build.ps1 -SkipTestsFor release validation, the expected tag can be supplied explicitly:
.\build.ps1 -ExpectedVersion 1.2.0The command fails when the tag and AssemblyInformationalVersion differ.
CmdsManager.exe
CmdsManager.exe.config
CmdsManager.ini.example
Readme.txt
src/CmdsManager/ Application source
tests/CmdsManager.Tests/ Standalone integration and UI contract tests
.github/workflows/ Build/release and CodeQL automation
docs/ README image assets
assets/ Application icon source
build.ps1 Release build and packaging entry point
Readme.txt Portable bilingual user documentation
Cmds Manager is free software distributed under the GNU General Public License v3.0.
