我正在尝试让批处理文件工作。每当我尝试运行 .bat 时,命令行都会返回“无法识别 m”... 错误,其中“m”是文件的第一个字母。例如:
md c:\testsource
md c:\testbackup
退货
C:>“C:\Users\Michael\Dropbox\Documents\Research\Media\Method Guide\Program est .bat”
C:>■米 '■m' 不被识别为内部或外部命令, 可运行的程序或批处理文件。
我尝试过的事情:
谢谢
您用什么文本编辑器编写此内容?看起来您的文本编辑器可能会将文件另存为 UTF-16 编码文本,而
cmd.exe
无法处理。保存文件时尝试将“编码”/“文件编码”设置为“ANSI”。
这会导致第一个字节成为字节顺序标记(告诉其他编辑器如何处理文件),而
cmd.exe
无法处理此问题。
除了已批准的答案之外,我还会添加创建文件的 PowerShell 命令的情况... PowerShell 默认情况下使用 UTF-16 编码。
要解决您的问题,请强制文件编码如下:
| out-file foo.txt -encoding utf8
在 Windows 10 中我也遇到了同样的问题。 将字符集更改为 UTF-8 会使情况变得更糟。 当我选择编码为 UTF-8-NO BOM 时,它工作正常。
我已更改编码从
UTF-16
到
UTF-8