ATTRIB.EXE
(a) Target file/folder not found = ERRORLEVEL 1
(b) Invalid switch = ERRORLEVEL 1
(c) Sharing violation (target file in use) = ERRORLEVEL 1
(d) Invalid drive specification = ERRORLEVEL 1
(e) Drive not ready (either Abort or Fail reply) = ERRORLEVEL 1
(f) Invalid/wrong number of parameters = ERRORLEVEL 1
EXTRACT.EXE
(a) Invalid switch = ERRORLEVEL 1
FC.EXE
(a) Insufficient number of filespecs = ERRORLEVEL 1
(b) Too many filenames on command line = ERRORLEVEL 1
(c) Sharing Violation + Abort reply = ERRORLEVEL 5
(Note: Fail reply returns ERRORLEVEL 0)
(d) Drive not ready = ERRORLEVEL 18
(Note: Fail reply returns ERRORLEVEL 0)
FIND.EXE
(a) Target string found (=f0und) = ERRORLEVEL 0
(b) Target string missing (=m1ssing) = ERRORLEVEL 1
(c) find /? = ERRORLEVEL 1
(d) Parameter format not correct = ERRORLEVEL 2
(e) Specified file to search not found = ERRORLEVEL 2
(f) Specified file in use + Fail reply = ERRORLEVEL 2
(g) Drive not ready + Fail reply = ERRORLEVEL 2
(h) Specified file in use + Abort reply = ERRORLEVEL 5
(i) Drive not ready + Abort reply = ERRORLEVEL 5
FORMAT.COM
(a) Drive not ready = ERRORLEVEL 4
(There is no Abort, Retry, Fail stall)
FTP.EXE
(a) Brief help (use: ftp -h for Brief help) = ERRORLEVEL 2
(b) Error opening script file (file missing) = ERRORLEVEL 2
(c) Invalid switch = ERRORLEVEL 2
MORE.COM
(a) Invalid switch (MORE doesn't accept switches) = ERRORLEVEL 1
(b) Drive not ready (Abort reply) = ERRORLELEL 5
(Note: Fail reply returns ERRORLEVEL 0)
MOVE.EXE
(a) Required parameter missing = ERRORLEVEL 1
(b) Unable to create destination = ERRORLEVEL 1
(c) Unable to open source = ERRORLEVEL 1
(you see this when trying to MOVE a folder from one drive
to another. You need to use XCOPY /S followed by DELTREE,
since MOVE won't handle folder moves across drives)
(d) Sharing violation + Fail reply = ERRORLEVEL 1
(Note: file is nevertheless COPIED, not moved, in this case)
(e) Sharing violation + Abort reply = ERRORLEVEL 5
(Note: file is nevertheless COPIED, not moved, in this case)
(f) Drive not ready (Abort reply) = ERRORLEVEL 18
(Note: Fail reply - unusually - returns ERRORLEVEL 1)
PING.EXE
(a) Unknown host = ERRORLEVEL 1
(usually=name not found on DomainNameServer)
(b) Brief help (with no parameter) = ERRORLEVEL 1
Note: for PING Brief help with /? switch, ERRORLEVEL is 0
(c) Invalid switch = ERRORLEVEL 1
(and displays the Brief help as well)
(d) Interrupted with [Ctrl-C] = ERRORLEVEL 255
SORT.EXE
(a) Invalid switch = ERRORLEVEL 1
(b) Drive not ready (Abort reply) = ERRORLEVEL 15
(Note: Fail reply returns ERRORLEVEL 0)
START.EXE
(a) start /? (real mode) = ERRORLEVEL 1
(b) start /? (GUI) = ERRORLEVEL 255
(c) Can't find file specified for START = ERRORLEVEL 255
(d) No file association for specified file = ERRORLEVEL 255
(e) Drive not ready = ERRORLEVEL 255
(There is no Abort, Retry, Fail stall)
SUBST.EXE
(a) Invalid parameter = ERRORLEVEL 1
(b) Invalid switch = ERRORLEVEL 1
(c) Path not found = ERRORLEVEL 1
(d) Drive not ready (Abort reply) = ERRORLEVEL 21
(Note: Fail reply - unusually - returns ERRORLEVEL 1)
TRACERT.EXE
(a) Unable to resolve target system name = ERRORLEVEL 1
(usually=name not found on DomainNameServer)
(b) Invalid switch = ERRORLEVEL 1
(c) Brief help (no parameter) = ERRORLEVEL 1
(d) Interrupted with [Ctrl-C] = ERRORLEVEL 255
Note: for TRACERT Brief help, type command without parameters
XCOPY.EXE
(a) File not found = ERRORLEVEL 1
(b) Invalid date in /d switch = ERRORLEVEL 4
(c) Invalid number of parameters = ERRORLEVEL 4
(d) Invalid parameter = ERRORLEVEL 4
(e) Device not ready = ERRORLEVEL 4
(f) Unable to create directory = ERRORLEVEL 4
(g) System can't find file = ERRORLEVEL 5
(this occurs when device such as NUL is used as Source file)