Command: errorlevel (exitcode)

  Errorlevel is NO existing command but part of the IF command.
  It is also called EXITCODE. As it is often in use there is an
  own "command" here to show where and how it can be used.


  SEE: IF command


  SEE: IF command


  Sometimes ERRORLEVELS are not documented in programs. With a trick
  you can try to find out if the program has some:
  Try to run a program in a way where you know that it cannot function,
  "dir --help" and then "echo %errorlevel" (return= 2) OR:
  "chkdsk 2: /h" and then: "echo %errorlevel%" (return=2) OR:
  "mode con cp prepare ((437) C:\FREEDOS\CPI\ega22.cpx" (return=255) OR:
  "mode con cp prepare ((437) C:\FREEDOS\CPI\ega22.cpx)" (return=101)


  Example 1:
    @ECHO. Please choose a keyboard driver:
    @ECHO. A = US = United States
    @ECHO. B = GR = German
    @ECHO. C = SP = Spanish
    @ECHO. D = FR = French
    @ECHO. E = TR = Turkish Q layout
    @ECHO. F = TRF  = Turkish F layout
    @choice /B /N /C:ABCDEF "Please choose your driver: "
    if errorlevel 7 goto :GO_ON
    if errorlevel 6 goto :KEYB_F
    if errorlevel 5 goto :KEYB_E
    if errorlevel 4 goto :KEYB_D
    if errorlevel 3 goto :KEYB_C
    if errorlevel 2 goto :KEYB_B
    if errorlevel 1 goto :KEYB_A

    lh mkeyb.exe US
    goto :GO_ON

    lh mkeyb.exe GR
    goto :GO_ON

    lh mkeyb.exe SP
    goto :GO_ON

    lh mkeyb.exe FR
    goto :GO_ON

    lh mkeyb.exe TR
    goto :GO_ON

    lh mkeyb.exe TRF
    goto :GO_ON


  Example 2:
  C:\FREEDOS\BIN\defrag C:
  if errorlevel 9 echo out of memory
  if errorlevel 8 echo memory error
  if errorlevel 7 echo FAT allocation error
  if errorlevel 6 echo write error
  if errorlevel 5 echo read error
  if errorlevel 4 echo general error
  if errorlevel 3 echo aborted by user
  if errorlevel 2 echo disk too full to defrag
  if errorlevel 1 echo internal error
  if errorlevel 0 echo success

See also:

  FreeDOS commands that support IF / ERRORLEVEL:
  assign     attrib     chkdsk     choice     ctmouse
  defrag     deltree    diskcomp   fc         fdisk
  find       format     goto       join       keyb
  mode       replace    shsucdx    subst      swsubst
  tdsk       xcopy      pcisleep   shsufdrv   touch

  Copyright © 2022 by W. Spiegl.

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