Command: menu

  MENU displays a menu while running CONFIG.SYS / FDCONFIG.SYS.
  MENU is a CONFIG.SYS / FDCONFIG.SYS command.

Syntax:

   menu [text]

Options:

  text  The text you want to be shown while running config.sys

Comments:

  MENU displays a menu while running CONFIG.SYS / FDCONFIG.SYS.
  Use MENUCOLOR before the menu config command, to create a full
    screen menu which supports the arrow cursor keys.
  Use MENUDEFAULT to set a time delayed default option. Lines that
    begin with 1? will only be processed if the user presses 1.
    Lines beginning with 23? will be loaded if the user presses either
    2 or 3. Options other than 0 can only be selected if at least one
    "numbers?" line actually uses them, as shown in the example below.
  Using with autoexec.bat:
    The ENVIRONMENT VARIABLE CONFIG is set to the menu option value.
    Therefore %CONFIG% can be used in the autoexec.bat in conjunction
    with the if command.
  MENU is a command internal to kernel.sys and needs no other file
  in order to work.

Examples:

  Example 1:
  IN CONFIG.SYS / FDCONFIG.SYS:
    MENU Please Select Configuration:
    MENU
    MENU Option 0    basic stuff only
    MENU Option 1    CD-ROM
    MENU Option 2    TROUSERS
    MENU Option 3    CD-ROM and TROUSERS
    0? ECHO Warning: Only standard drivers !
    13?DEVICE=xdvd2.sys /D:FDCD001
    23?DEVICE=TROUSERS.SYS
  IN AUTOEXEC.BAT:
    IF "%config%"=="1" SHSUCDX /D:FDCD001
    IF "%config%"=="3" SHSUCDX /D:FDCD001
      Means: SHSUCDX is loaded in AUTOEXEC.BAT / FDAUTO.BAT when the
             options 1 or 3 were chosen in CONFIG.SYS / FDCONFIG.SYS

  Example 2:
  IN CONFIG.SYS / FDCONFIG.SYS:
    !COUNTRY=049,858,C:\FREEDOS\BIN\country.sys (german setting)
    !LASTDRIVE=Z
    !BUFFERS=20           (!=will be executed under all circumstances)
    !FILES=40             (!=will be executed under all circumstances)
    !MENUCOLOR=7,0        (!=will be executed under all circumstances)

    MENUDEFAULT=1,5
    MENU 1 - Load FreeDOS with JEMM386 (no EMS, max RAM free)
    MENU 2 - Load FreeDOS with JEMM386 (Expanded Memory)
    MENU 3 - Load FreeDOS low with some drivers (Safe Mode)
    MENU 4 - Load FreeDOS without drivers (Emergency Mode)

    12?DOS=HIGH                   (will be processed when pressing 1/2)
    12?DOS=UMB                    (will be processed when pressing 1/2)
    12?DOSDATA=UMB                (will be processed when pressing 1/2)
    123?DEVICE=C:\FREEDOS\BIN\himemx.exe (     "      "      "     1/2/3)
    1?DEVICE=C:\FREEDOS\BIN\jemm386.exe NOEMS X=TEST I=TEST I=B000-B7FF
             NOVME NOINVLPG       (will be processed when user presses 1)
    2?DEVICE=C:\FREEDOS\BIN\jemm386.exe X=TEST I=TEST I=B000-B7FF NOVME
             NOINVLPG             (will be processed when user presses 2)
    34?SHELL=C:\FREEDOS\BIN\command.com C:\FREEDOS\BIN /E:1024
             /P=C:\FDAUTO.BAT     (will be processed when pressing 3/4)
    12?SHELLHIGH=C:\FREEDOS\BIN\command.com C:\FREEDOS\BIN /E:1024
                 /P=C:\FDAUTO.BAT (will be processed when pressing 1/2)
    ;1234?BREAK=OFF               (set to REM, nothing happens)
    REM 1234?DEVICE=C:\blahblah.sys (set to REM, nothing happens)

  IN AUTOEXEC.BAT / FDAUTO.BAT:
    Depending if you have chosen "1", "2", "3" or "4" in CONFIG.SYS
    your AUTOEXEC.BAT / FDAUTO.BAT can execute different routines, e.g.:
      IF "%config%"=="1" goto :BAT_ROUTINE1
      IF "%config%"=="2" goto :BAT_ROUTINE2
      IF "%config%"=="3" goto :BAT_ROUTINE3
      IF "%config%"=="4" goto :BAT_ROUTINE4
      goto :END

      :BAT_ROUTINE1
      execute commands for routine1
      goto: END

      :BAT_ROUTINE2
      execute commands for routine2
      goto: END

      :BAT_ROUTINE3
      execute commands for routine3
      goto: END

      :BAT_ROUTINE4
      execute commands for routine4
      goto: END

      :END
      cls

See also:

  ; (semicolon)
  ! (exclamation mark)
  ? (question mark)
  autoexec.bat/fdauto.bat
  config.sys/fdconfig.sys
  dos
  dosdata
  environment variable
  files
  goto
  himemx
  if
  jemm386
  jemmex
  lastdrive/lastdrivehigh
  menucolor
  menudefault
  rem
  shsucdx

  Copyright © 2003 Robert Platt, updated 2011 and 2022 by W. Spiegl.

  This file is derived from the FreeDOS Spec Command HOWTO.
  See the file H2Cpying for copying conditions.