Как насчет этого?
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
Это простая, но приятная система меню. Вы можете использовать цифры или буквы (или слово без пробелов) в качестве ключа. Я сохранил это очень просто, чтобы вы могли видеть, как взаимодействовать с ним. (Например, вы можете создать набор каталогов как целую систему меню, где все пункты меню находятся внутри файлов 'dir.menu'.)
Пример использования:
>menu
Menu:
===================
Editors
1] Notepad.exe
2] WordPad.exe
Graphics
P] mspaint.exe
>menu p
[mspaint is launched]
>
ОБНОВЛЕНО: протестировано и исправлено несколько вещей с моего компьютера, а не с телефона.