"Bad command or file name" is a common error message in Microsoft's MS-DOS and some other operating systems.
In command.com, the message
Bad command or file name is produced if the user mistypes the first word of a command line. This first word must be either the name of a built-in "command", or of an executable file or batch file. Therefore the error was printing what, to the programmer, was an accurate description of the problem: there was no such command and there was no such file. Novices, in general, had trouble understanding the message, so later operating systems changed it; for instance, OS/2 and the Windows NT (and newer) family use
<typed-in string> is not recognized as an internal or external command, operable program or batch file.
Some early Unix shells produced the equally-cryptic
<typed-in string>: no such file or directory (because they searched for a file matching the command name and this is the strerror when a file of a given name is not found). Most modern shells produce
<typed-in string>: Command not found.
See also 
- ^ A current example is tclsh with the command "exec nosuchcommand"