¿Qué tal esto?
dir.menu
# Comments and empty lines are ignored
# Lines starting with a hyphen '-' indicate a group
- Editors
1 Notepad.exe
2 WordPad.exe
# You can use numbers or letters, and even words (without spaces)
- Graphics
P mspaint.exe
menu.bat
@setlocal
@echo off
if not exist ".\dir.menu" echo There is no "dir.menu" file in the current directory. & goto :end
set arg=%~1
if not defined arg goto :show_menu
for /f "tokens=1,* delims= " %%i in (dir.menu) do (
if not "%%i"=="#" if /i "%arg%"=="%%i" (
start "x" "%%j"
)
)
:end
endlocal
exit /B
:show_menu
echo Menu:
echo ===================
for /f "tokens=1,* delims= " %%i in (dir.menu) do (
if not "%%i"=="#" (
if "%%i"=="-" (
echo %%j
) else (
echo %%i] %%j
)
)
)
goto :end
Este es un sistema de menú simple pero agradable. Puede usar números o letras (o una palabra, sin espacios) como clave. Lo he mantenido muy simple para que pueda ver cómo interactuar con él. (Por ejemplo, podría crear un conjunto de directorios como un sistema de menú completo, donde los elementos del menú están todos dentro de los archivos 'dir.menu').
Uso de la muestra:
>menu
Menu:
===================
Editors
1] Notepad.exe
2] WordPad.exe
Graphics
P] mspaint.exe
>menu p
[mspaint is launched]
>
ACTUALIZADO : probé y corregí un par de cosas desde mi computadora, en lugar de mi teléfono.