CMD:'■m'未被识别为内部或外部命令

我试图让批处理文件工作 . 每当我尝试运行.bat时,命令行返回'■m'无法识别...错误,其中“m”是文件的第一个字母 . 例如:

md c:\testsource md c:\testbackup

返回

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

C:>■m'■m'不被识别为内部或外部命令,可操作程序或批处理文件 .

我尝试过的事情:

  • 更改路径变量,重新启动等

  • 更改文件目录(即从C运行:)

  • 从Web运行示例文件(如上所述)以检查语法错误 .

谢谢

回答(2)

3 years ago

你在写什么文本编辑器?看起来您的文本编辑器可能会将文件保存为UTF-16编码的文本,而 cmd.exe 无法处理 . 保存文件时,请尝试将"coding" / "file encoding"设置为"ANSI" .

这导致第一个字节是字节顺序标记(告诉其他编辑如何处理文件), cmd.exe 无法处理这个问题 .

3 years ago

除了批准的答案,我还要添加一个案例,其中PowerShell命令是创建文件的命令...默认情况下PowerShell默认使用UTF-16编码 .

要解决您的问题,强制文件编码是这样的: | out-file foo.txt -encoding utf8

Answer based on this other answer .