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' 未被识别为内部或外部命令的主要内容,如果未能解决你的问题,请参考以下文章
“'m164' 未被识别为内部或外部命令”,使用 VS 2013 Developer Command Prompt 构建 OpenSSL