Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CMD: '■m' is not recognized as an internal or external command

I am trying to get a batch file to work. Whenever I attempt to run a .bat the command line returns '■m' is not recognized... error, where "m" is the first letter of the file. For example:

md c:\testsource md c:\testbackup

Returns

C:>"C:\Users\Michael\Dropbox\Documents\Research\Media\Method Guide\Program\test .bat"

C:>■m '■m' is not recognized as an internal or external command, operable program or batch file.

Things I have tried:

  1. Changing Path variables, rebooting, etc.
  2. Changing file directory (i.e. run from C:)
  3. Running example files from web (like above) to check for syntax errors.

Thanks

like image 795
webelo Avatar asked Mar 15 '14 01:03

webelo


2 Answers

In addition to the approved answer I would add the case where is a PowerShell command the one that creates the file... PowerShell comes by default with the UTF-16 encoding.

To solve your problem then, force the file encoding lie this: | out-file foo.txt -encoding utf8

Answer based on this other answer.

like image 108
juagicre Avatar answered Oct 06 '22 00:10

juagicre


What text editor are you writing this in? It seems like your text editor may save the file as UTF-16 encoded text, which cmd.exe can't handle. Try setting the "coding"/"file encoding" to "ANSI" when saving the file.

This results in the first byte being a byte-order-mark (telling other editors how to process the file), and cmd.exe can't deal with this.

like image 45
Christian Aichinger Avatar answered Oct 05 '22 23:10

Christian Aichinger