批处理文件开头的奇怪字符(´╗┐)

批处理文件开头的奇怪字符(´╗┐)

我在 Windows 中使用 Notepad 和 Notepad++ 处理批处理文件。当我运行所有以 开头的批处理文件时@echo off,我看到第一行(在两台不同的机器上运行时)显示为´╗┐@echo off,然后它下面的所有 REM 行也会出现。

我曾尝试在 Notepad++ 中更改编码,但它声称它们已经是 UTF-8 编码,这似乎是正确的。

我需要做什么才能使这些文件正常运行?

答案1

它看起来像 UTF-8 的字节顺序标记的 DOS ASCII 编码(0xEF 0xBB 0xBF)http://en.wikipedia.org/wiki/Byte_order_mark

在 Notepad++ 中尝试将其编码为“UTF-8 Without BOM”或纯 ASCII。我认为不建议对 UTF-8 使用 BOM,因为它与 ASCII 并不完全向后兼容。

答案2

事实证明需要将其设置为美国国家标准编码才能正常工作。为了设置这一点,我选择了编码->以 ANSI 编码

为了解决这个问题,我尝试从命令行创建一个批处理文件。

echo @echo off > batch.bat
echo REM Some comment... >> batch.bat
echo echo Hello world! >> batch.bat

然后我用 Notepad++ 打开了这个文件,检查右下角的编码,结果显示ANSI 作为 UTF-8。我不知道为什么要添加最后一点,但现在似乎有效了。

相关内容