CMD:“■m”不被识别为内部或外部命令

问题描述 投票:0回答:4

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

md c:\testsource
md c:\testbackup

退货

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

C:>■米 '■m' 不被识别为内部或外部命令, 可运行的程序或批处理文件。

我尝试过的事情:

  1. 更改路径变量、重新启动等
  2. 更改文件目录(即从 C: 运行)
  3. 从网络运行示例文件(如上)以检查语法错误。

谢谢

windows batch-file command-line command command-prompt
4个回答
19
投票

您用什么文本编辑器编写此内容?看起来您的文本编辑器可能会将文件另存为 UTF-16 编码文本,而

cmd.exe
无法处理。保存文件时尝试将“编码”/“文件编码”设置为“ANSI”。

这会导致第一个字节成为字节顺序标记(告诉其他编辑器如何处理文件),而

cmd.exe
无法处理此问题。


7
投票

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

要解决您的问题,请强制文件编码如下:

| out-file foo.txt -encoding utf8

基于其他答案的答案


0
投票

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


0
投票

我已更改编码从

UTF-16

UTF-8

© www.soinside.com 2019 - 2024. All rights reserved.