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

Posted

技术标签:

【中文标题】CMD: \'■m\' 未被识别为内部或外部命令【英文标题】:CMD: '■m' is not recognized as an internal or external commandCMD: '■m' 未被识别为内部或外部命令 【发布时间】:2014-04-20 13:03:48 【问题描述】:

我正在尝试使用批处理文件。每当我尝试运行 .bat 时,命令行都会返回 '■m' is not Recognized... 错误,其中“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 运行示例文件(如上)以检查语法错误。

谢谢

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

这就是问题所在。我在记事本中编辑。感谢您的快速回复!【参考方案2】:

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

为了解决您的问题,请强制文件编码位于:| out-file foo.txt -encoding utf8

Answer based on this other answer。

【讨论】:

谢谢!我最终使用了-encoding ascii,因为即使-encoding utf8 给我留下了一个无法执行的bat 文件。【参考方案3】:

在 Windows 10 中,我遇到了同样的问题。 将字符集更改为 UTF-8 会使情况变得更糟。 当我选择编码为 UTF-8-NO BOM 时,它工作正常。

【讨论】:

以上是关于CMD: '■m' 未被识别为内部或外部命令的主要内容,如果未能解决你的问题,请参考以下文章

PHP:'java' 未被识别为内部或外部命令

“'m164' 未被识别为内部或外部命令”,使用 VS 2013 Developer Command Prompt 构建 OpenSSL

abd 未被识别为内部或外部命令

android' 未被识别为内部或外部命令

VS2012:'nmake' 未被识别为内部或外部命令

npm 命令返回消息 -g' 未被识别为内部或外部命令