Пакетний сценарій додає фанкі, коли виконується команда


2

У мене є цей скрипт, і коли я намагаюся його виконати, в командному рядку з’являється купа випадкових символів:

cd "X:\folder\subfolder"
svn update
pause

введіть тут опис зображення

Я поняття не маю, як називаються ці символи чи як вони потрапили перед тим, cdщоб спробувати зрозуміти, чому це відбувається.

Хтось раніше переживав щось подібне?

EDIT: Після коментарів Techie я знайшов це https://stackoverflow.com/questions/854360/visual-studio-inserts-invalid-characters-in-batch-files


Який редактор ви використовуєте для створення файлу Batch? Якщо ви (повторно) створили його в Блокноті, він все ще створює ці зайві символи?
Ƭᴇcʜιᴇ007

Я Add New Itemв Visual Studio створив .txtфайл і перейменував його в .bat. Я спробую це.
sab669

... wtf. Створення текстового файлу в Провіднику Windows, а потім додавання його до мого VS Project таким чином, щоб це виправити.
sab669

Яку версію VS ви використовуєте?
Ƭᴇcʜιᴇ007

Visual Studio 2010 Premium
sab669

Відповіді:


4

Це тому, що коли ви зберігаєте текстовий файл у Visual Studio, він зберігає його в кодуванні UTF-8 , включаючи позначку порядку байтів (BOM) на початку.

Оскільки сторінка коду за замовчуванням командного рядка не UTF-8, ви бачите символи.

Ви можете встановити командний рядок для підтримки UTF-8, видавши команду chcp 65001, але для сумісності вам найкраще забезпечити збереження тексту / пакетного файлу за допомогою стандартного кодування ANSI замість UTF-8.

Для цього дивіться це інше існуюче питання SU: Visual Studio 2010: Чи можна змусити редактор використовувати ANSI, а не UTF-8? , яка говорить про те саме, що ви бачите.

Для отримання додаткової інформації з цього питання, можливо, також ознайомтесь із цим питанням StackOverflow: Visual Studio вставляє недійсні символи в пакетні файли .


Так .. Я думаю, що відповідь на недбалість на згадане питання StackOverflow є найкращим способом управління цими питаннями.
danicotra

Ви пишете: "Коли ви зберігаєте текстовий файл у Visual Studio, він зберігає його в кодуванні UTF-8, що включає позначку порядку байтів (BOM) на початку". <--- Ви можете бути більш конкретними тут. Visual Studio зберігає його як UTF8 з BOM. Але існує UTF 8 без BOM
барлоп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.