"Bad command or file name" is a common error message in MS-DOS and some other operating systems. It is occasionally used as an example of a computer message that is perfectly accurate yet confusing to the average user.
COMMAND.COM produced the message Bad command or file name when the first word of a command could not be interpreted. For MS-DOS, the first word of a command was the name of an internal command, external command, executable file or batch file, so the error message provided an accurate description of the problem but easily confused novices. Though the source of the error was often a mistyped command, the wording gave the impression that files named in later words were damaged or had illegal filenames. Later, the wording of the error message was changed for clarity; both OS/2 and Windows NT output "foo" is not recognized as an internal or external command, operable program or batch file (where foo is the first word) instead.
Some early Unix shells produced the equally cryptic foo: no such file or directory for the same reasons. Most modern shells produce an error message similar to foo: command not found.