Интересно, существует ли простой способ ветвления выполнения в пакетном файле Windows в зависимости от значения одного выражения? Нечто похожее на переключение/регистр блоков в C, C++, С#, Java, JavaScript, PHP и других реальных языках программирования.
Мой единственный обходной путь - простой блок if/else, в котором одно и то же выражение многократно проверяется на равенство разных значений:
IF "%ID%"=="0" (
REM do something
) ELSE IF "%ID%"=="1" (
REM do something else
) ELSE IF "%ID%"=="2" (
REM do another thing
) ELSE (
REM default case...
)
Так глупо. Есть ли лучшее решение?