Multiple choices menu on batch file?

后端 未结 13 1653
盖世英雄少女心
盖世英雄少女心 2020-11-28 12:56

Hi I want to make a batch file menu, that asks \'Select app you want to install?\' for example

  1. App1
  2. App2
  3. App3
  4. App4
  5. App5
13条回答
  •  孤城傲影
    2020-11-28 13:30

    Menu with analog of checkbox.

    @echo off
    
    set size=3
    
    ::preset
    set chbox2=x
    
    
    :prepare
    for /L %%i in (0,1,%size%) do (
        if defined chbox%%i (
            set st%%i=Y
        ) else (
            set chbox%%i= 
        )
    )
    
    
    :menu
    cls
    echo.
    echo  1. [%chbox1%]  name_1:
    echo.
    echo  2. [%chbox2%]  name_2:
    echo.
    echo  3. [%chbox3%]  name_3:
    echo.
    echo.
    echo.
    
    
    choice /C 1234567890qa /N /M "Select [1-9] >> [a]pply or [q]uit:"
    echo.
    set inp=%errorlevel%
    
    if %inp%==11 (
        exit
    )
    if %inp%==12 (
        call :apply
    )
    
    ::switch
    if defined st%inp% (
        set st%inp%=
        set chbox%inp%= 
    ) else (
        set st%inp%=Y
        set chbox%inp%=X
    )
    goto :menu
    
    
    :apply
    for /L %%i in (0,1,%size%) do (
        if defined st%%i (
            call :st%%i
            echo.
        )
    )
    echo.
    pause
    goto :menu
    
    
    
    
    :st1
    echo First Command
    goto :eof
    
    
    :st2
    echo Second Command
    goto :eof
    
    
    :st3
    echo Third Command
    goto :eof
    

    You can set lines checked as defaults under :preset label.

提交回复
热议问题