23

Я работаю с пакетными файлами в Windows, используя как Блокнот, так и Блокнот ++. Когда я запускаю командные файлы, которые все начинаются с @echo off , я вижу первую строку (при работе на двух разных машинах), читающую ´╗┐@echo off , а затем появляются все строки REM под ним.

Я попытался изменить кодировку в Notepad++, но он утверждает, что они уже в кодировке UTF-8, что представляется правильным.

Что мне нужно сделать, чтобы эти файлы работали правильно?

2 ответа2

24

Это похоже на кодировку DOS ASCII метки порядка байтов для UTF-8 (0xEF 0xBB 0xBF):http://en.wikipedia.org/wiki/Byte_order_mark

В Notepad++ попробуйте кодировать его как «UTF-8 без спецификации» или как простой ASCII. Я думаю, что использование спецификации для UTF-8 не рекомендуется по этой причине, она не совсем обратно совместима с ASCII.

7

Оказывается, для правильной работы необходимо установить кодировку ANSI . Чтобы установить это, я выбрал Encoding -> Encode in ANSI .

Чтобы понять это, я попытался создать командный файл из командной строки.

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

Затем я открыл этот файл в Notepad++ и проверил кодировку в правом нижнем углу, которая читала ANSI как UTF-8. Я не знаю, почему это добавляет этот последний бит, но, похоже, сейчас работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .