BatchMenuGenerator (BMG) is a lightweight, powerful utility for creating, editing and compiling Windows .bat menu scripts. What started as a simple question-and-answer wizard has evolved into a complete command-line workbench featuring interactive arrow-key menus, nested submenus, a built-in text editor, persistent settings and an integrated EXE compiler.
Create everything from simple command launchers to complex, multi-level menu systems with custom commands, administrator privileges and password protection.
π§ Looking for Linux support? Check out the native Linux port: BashMenuGenerator!
- Arrow-Key Interface (TUI): Navigate menus using Up/Down, Enter and Esc instead of constantly typing numbers or answering Y/N prompts.
- Nested Submenus: Create hierarchical menu systems up to 6 levels deep, with up to 20 options per menu.
- Custom Menu Appearance: Choose between Classic (
=), Modern (-), Zigzag (Z) and Custom character borders - Built-in Theme Engine: Customize the entire interface with different color presets, including Default, Matrix, Cyberpunk, CLI and Violent.
- Optional Menu Sounds: Enable subtle navigation and confirmation sounds.
- Classic Prompt Mode: Prefer the traditional keyboard input experience? Disable TUI Mode in Settings.
- Multiple Run Modes: Execute commands directly, through a
cmd /cwrapper, or open a nested submenu. - Command Chaining: Assign multiple commands to individual menu options. Use commands such as
timeout /tto introduce execution delays. - Administrator Privileges: Automatically request and relaunch with elevated Administrator privileges when required.
- Password Protection: Add password verification to generated batch menus.
- Custom Titles & Descriptions: Create personalized menu headers, descriptions and even ASCII-art banners.
- Automatic Script Formatting: Special characters are properly escaped to prevent generated scripts from breaking.
A full-screen console text editor is integrated directly into BatchMenuGenerator.
- Edit text configurations, command lists, descriptions and existing text files.
- Undo and redo with up to 200 history steps.
- Find text using
Ctrl + Fand repeat searches withF3. - Select text using
Shift + Arrow KeysorCtrl + A. - Copy, cut and paste using familiar keyboard shortcuts.
- Navigate and delete entire words with Ctrl-based shortcuts.
- Save using
Ctrl + S. - Live status bar displaying line, column and selection information.
Build complete menu systems using plain-text configuration files instead of answering wizard questions.
- Edit configurations directly inside the built-in editor or Notepad.
- Load existing
.txtconfigurations. - Supports UTF-8 (with or without BOM) and UTF-16 LE.
- Define menu options, commands, custom borders and nested submenus.
- Built-in syntax tutorial with examples.
- Previous configurations remain compatible with older versions.
Already generated a batch menu? You don't have to start over!
Open previously generated .bat scripts and modify their contents directly.
- Edit titles, descriptions and passwords.
- Enable or disable administrator privileges.
- Change menu borders.
- Add, remove and reorganize menu options.
- Edit commands and run modes.
- Create and modify nested submenus.
- Compile the modified script directly into an EXE.
Backward compatibility: BatchMenuGenerator supports previously generated scripts from older versions of BMG, including legacy releases. Compatibility has been tested with scripts dating back to version 0.1.2.
Scripts must retain the Created with BatchMenuGenerator! watermark on the first line to be recognized by the script editor.
Convert generated batch menus into standalone .exe executables without relying on external converters.
- Compile directly after generating a script.
- Compile from the Batch Script Editor.
- Compile through Text Mode configuration.
- Compile any
.batfile using the command line. - Automatically uses the .NET Framework compiler (
csc.exe) when available, with a Windows PowerShell 5.1 fallback. - Passes command-line arguments to the original batch script.
- Returns the original script's exit code.
- Automatically removes temporary extracted files after execution.
β οΈ Security note: The embedded batch script is scrambled using a randomly generated key for each build. This is basic obfuscation, NOT encryption. It should not be considered a secure way to protect passwords, credentials or other sensitive information.
- Persistent Settings: Save your preferred configuration between launches.
- Smart AutoSave: Automatically preserve unfinished sessions and resume where you left off.
- End Action: Choose what happens after saving a script: ask, return to the main menu, launch the script or exit.
- Save/Load Preferences: Automatically use the Windows File Explorer dialog or manual path input.
- Default Menu Borders: Skip repeated border selection.
- Theme Preferences: Keep your preferred interface colors.
- Version History: View the complete built-in changelog directly inside the application.
Settings are stored in:
%LOCALAPPDATA%\BatchMenuGenerator\settings.txt
The configuration uses simple key: value lines and can be edited manually.
BatchMenuGenerator includes an optional first-time setup utility.
- Move the program into
%LOCALAPPDATA%\BatchMenuGenerator. - Create a desktop shortcut.
- Add the program to the Windows Start Menu.
- Install, update or uninstall the
bmgcommand. - Automatically configure your user PATH without requiring administrator privileges.
Control BatchMenuGenerator directly from the terminal using its built-in command-line switches.
| Command | Description |
|---|---|
bmg -cli |
Open the built-in text editor immediately. |
bmg -config "file.txt" |
Load a configuration and generate its menu. |
bmg -edit "file" |
Edit a generated batch script or ordinary text file. |
bmg -compile "script.bat" |
Compile a batch file into an EXE without opening the menus. |
You can use / instead of - for switches.
The compiler returns exit codes that can be used in other scripts:
0β Compilation successful.1β Compilation failed.2β Invalid usage or file not found.
Once the bmg command is installed, you can launch the application from any terminal location.
No meaningful hardware requirements!
BatchMenuGenerator is designed to run on practically any Windows computer, including very old and low-specification systems.
There are effectively no specific hardware requirements. If your computer can run Windows and open a console window, it should be capable of running BatchMenuGenerator.
- Minimum supported OS: Windows Vista (x86).
- Supports Windows Vista, 7, 8, 8.1, 10 and 11.
- Compatible with both 32-bit (x86) and 64-bit (x64) Windows, provided you download the correct executable.
- No administrator privileges required for normal application usage.
- No separately installed runtime dependencies required for normal operation.
| Your Windows installation | Download |
|---|---|
| 32-bit Windows (x86) | x86 executable |
| 64-bit Windows (x64) | Regular BatchMenuGenerator.exe (x64) |
β οΈ A 32-bit Windows installation cannot run the x64 executable. If you're using Windows Vista x86 or another 32-bit Windows installation, make sure to download the x86 version.
Version 1.5.0 is a major upgrade over 1.4.3.
The application has evolved from a simple question-and-answer wizard into a complete script-generation workbench.
- Nested submenu support (up to 6 levels).
- Interactive arrow-key navigation throughout the application.
- Persistent settings and customizable TUI themes.
- Built-in batch-to-EXE compiler.
- Ability to reopen and edit previously generated batch scripts.
- Full-screen built-in console text editor.
- Improved Text Mode with expanded configuration syntax.
- New command-line switches for automation.
- First-time setup utility and automatic
bmgcommand installation. - Automatic compatibility handling for Windows Terminal and the classic Windows console.
- Better escaping of special characters in generated scripts.
- Improved handling of long menu labels.
- Case-insensitive menu choices.
- Improved administrator privilege relaunch behavior.
- Better AutoSave and session recovery.
- Improved save-conflict handling.
- Live title preview.
- Preserved indentation in descriptions and ASCII-art banners.
- Improved configuration loading and compatibility.
Existing projects are not left behind!
BatchMenuGenerator 1.5.0 maintains backward compatibility with scripts and text configurations created using previous versions of BatchMenuGenerator.
- Previously generated scripts from older BMG releases remain supported.
- Legacy scripts, including those created with version 0.1.2, have been tested successfully.
- Older scripts can be reopened and edited using the Batch Script Editor.
- Existing Run Modes 0 and 1 retain their previous behavior.
- Existing
cmd /coptions remain supported.
Found a bug, encountered an issue or have an idea for a new feature?
Feel free to submit a report or suggestion through the repository's Issues tab.
Pull requests, improvements and feature suggestions are always welcome!
If you find BatchMenuGenerator useful, please consider giving the repository a Star β. It helps support development and makes the project more visible to other users.
BatchMenuGenerator
Making Windows batch automation easier