68 / 68 / 42
Регистрация: 30.03.2015
Сообщений: 372
1

Выбор кодировки для сохранения BAT-файла

18.05.2016, 14:59. Показов 9125. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Windows 10 русская редакция - при создании текстовых файлов по умолчанию используется кодировка ANSI. При создании BAT файлов с помощью сторонних редакторов сохранения файла происходит в кодировке UTF-8. Запуск такого файла приводит к ошибке - перед самой первой командой добавляется непонятный символ который при считывании и взывает ошибку о непонятной команде. Конечно же если сохранять в кодировке по умолчанию все работает. Вопрос: будет ли работать мой BAT файл сохраненный не в UTF-8 в иноязычных средах? Какую кодировку выбрать для моей русскоязычной системы, чтобы она работала везде? Я не собираюсь вводить кирилицу в командный файл - только A-z. 0-9.

Добавлено через 2 минуты
Прим.: сейчас открыл созданный по умолчанию текстовый файл в браузере и посмотрел кодировку - кирилица 1251. Т.е. при сохранении в ANSI (American blablabla) у меня создается "русский" текстовый файл!
Окончательно запутался, просто подскажите какую кодировку использовать, чтобы она была True American, но при этом работала в русских системах. Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2016, 14:59
Ответы с готовыми решениями:

Как в коде пакетного файла указать папку для сохранения конечного файла?
@echo off Setlocal EnableDelayedExpansion set /p format=original format: for %%a in (*.!format!)...

Кодировки в BAT файлах
Добрый вечер. При написании bat файла для архивирования рекомендуют применять кодировку chcp...

сохранения в bat
помогите , мне нужно что бы bat файл читал сохранения в несколько строчек. например : v1=456...

[BAT ФАЙЛ] Для поиска файла и передачи найденого файла на ftp!!!
Вот мой bat файл для поска файла text.txt и передачи его на ftp! Но что-то у меня не получается не...

4
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
18.05.2016, 16:21 2
Цитата Сообщение от Constantius24 Посмотреть сообщение
Какую кодировку выбрать для моей русскоязычной системы, чтобы она работала везде? Я не собираюсь вводить кириллицу в командный файл - только A-z, 0-9.


Тогда можно использовать практически любую кодировку (Win-1251, OEM-866, CP437, Win-1252), кроме юникодных, так как при сохранении в каждой из этих кодировок файла, не содержащего кириллические и юникодные символы, сохранённые файлы будут идентичными.

Во многих случаях можно использовать и кодировку UTF-8, только в самом начале BAT-файла надо написать строку
Windows Batch file
1
! 2>nul& @cls
,
выполнение которой не допустит склеивания "непонятных" символов с последующей командой, будет "поглощать" вывод сообщения об ошибке и очищать консольное окно.
2
68 / 68 / 42
Регистрация: 30.03.2015
Сообщений: 372
18.05.2016, 18:34  [ТС] 3
Цитата Сообщение от ComSpec Посмотреть сообщение
Тогда можно использовать практически любую кодировку (Win-1251, OEM-866, CP437, Win-1252)
Будет ли работать файл сохраненный в одной из этих кодировок в англ. версии Windows ?
0
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
18.05.2016, 19:23 4
Лучший ответ Сообщение было отмечено Constantius24 как решение

Решение

При условии, которое Вы озвучили (
Цитата Сообщение от Constantius24 Посмотреть сообщение
Я не собираюсь вводить кириллицу в командный файл...
),
пакетный файл будет работать в англоязычной версии Windows.

Для такого файла не существует дифференциации на какие-нибудь кодировки, так как в данном случае файл просто сохраняется в ANSI-кодировке.

Русскоязычные версии текстовых редакторов или браузеров могут определять кодировку такого файла как Wiin-1251, а англоязычные — как CP437, то есть определение кодировки в данном случае будет исключительно "на совести" той программы, которой Вы пользуетесь в данный момент, и объявленная ей кодировка никак не может повлиять на работоспособность пакетного файла.

Повторю: без наличия букв кириллического алфавита или нелатинских букв других алфавитов в содержимом файла кодировка файла всегда будет одна и та же — недифференцированная ANSI-кодировка (если, конечно, файл не был сохранён в какой-нибудь из юникодных кодировок).
1
68 / 68 / 42
Регистрация: 30.03.2015
Сообщений: 372
18.05.2016, 19:53  [ТС] 5
Значит ANSI это мой выбор, спасибо.
0
18.05.2016, 19:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2016, 19:53
Помогаю со студенческими работами здесь

Запуск bat-файла для копирования определённого файла по сети из Планировщика заданий
Добрый день, Имеется в наличии скрипт на копирование файла по сети. net use Y:...

Маска файла для bat файла
Мне нужна универсальная маска к пути файла. С которым я буду уже работать там удалить копировать...

Для каждого exe-файла создать bat-файл для его запуска
Не могу понять как создать exe файла создать бат файл для его запуска?

Один bat-файл запускает по очереди два других bat-файла
Имеются две папки в одной драйвера в второй программы решил сделать установку этого хозяйства с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru