Bat文件返回错误但可以正常工作

Bat文件返回错误但可以正常工作

我有以下 .bat 文件,它以前运行时没有任何错误,但由于某种原因,每次运行它时它都会返回错误。

这是.bat 文件:

C:
start "" "C:\Program Files (x86)\NetBeans 7.0.1\bin\netbeans.exe"
D:
start "" "D:\standalone\My AutoHotkey Script.ahk"

错误:

在此处输入图片描述

答案1

您使用 UTF-8 编写了命令脚本。这三个字符是 Unicode 字节顺序标记 的 UTF-8 编码,U+FEFF显示在代码页 437 中。Microsoft 命令处理器的脚本始终被命令处理器视为已编码当前“OEM”代码页(在您的情况下显然是 437),并且应按此方式编写。

记事本中一切正常的原因在于记事本可以识别 BOM 并相应地解码文件。记事本显示的内容并不是命令处理器在文件中实际看到的内容。

注意记事本无法读取/写入 OEM 代码页中的文件如果您在命令脚本中使用“OEM”和“Windows”代码页共有的 ASCII 子集以外的字符(幸运的是,这里不是这种情况),那么你就不能用记事本编辑这些脚本(除非您在打字时能够在脑海中将“OEM”代码页转换为“Windows”代码页)。

即便如此,如果您意外地将文件保存为 UTF-8 而不是当前 Windows 代码页(记事本错误地将其命名为“ANSI”),记事本会默默地在文件前面添加字节顺序标记,这时您就会遇到麻烦。事实上,这几乎肯定就是这里发生的情况。

答案2

看来您的 BAT 文件的开头有一些 cmd 无法识别的字符(请参见屏幕截图的第一行)。

使用记事本打开 BAT 文件,删除所有奇怪的字符,然后保存;然后再次运行。问题可能已经解决了?

相关内容