Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] что делать если bat в ascii а в пути к файлам папки с unicode именами?

Ответить
Настройки темы
CMD/BAT - [решено] что делать если bat в ascii а в пути к файлам папки с unicode именами?

Новый участник


Сообщения: 14
Благодарности: 1

Профиль | Отправить PM | Цитировать


всем доброго времени суток.
есть ли способ обойти проблему?

Отправлено: 14:58, 30-08-2016

 

Ветеран


Contributor


Сообщения: 24008
Благодарности: 6974

Профиль | Отправить PM | Цитировать


Покажите код пакетного файла.

Отправлено: 16:34, 30-08-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 14
Благодарности: 1

Профиль | Отправить PM | Цитировать


я ещё в процессе но проблемная часть выглядит приблизительно так:

X:\FolderWithUnicodeName\setup.exe

в принципе варианты решения есть (например link or hardlink).
но мне интересно как поступают профессионалы.

Отправлено: 21:30, 30-08-2016 | #3

mwz mwz сейчас на форуме

Аватара для mwz

Ветеран


Contributor


Сообщения: 8032
Благодарности: 1927

Профиль | Сайт | Отправить PM | Цитировать


vsuwi, вы случаем не усложняете вопрос?

Юникодные имена — имеются в виду лишь имена на кириллице, типа "Вася", "Маша", "Мои любимые фильмы" — или в т.ч. имена на французском, немецком, испанском и т.д., имеющих каждый свои собственные символы с надстрочными знаками?

-------
Mikhail Zhilin


Отправлено: 21:56, 30-08-2016 | #4


Новый участник


Сообщения: 14
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png example.png
(43.2 Kb, 4 просмотров)


вот пример.

Отправлено: 22:15, 30-08-2016 | #5

mwz mwz сейчас на форуме

Аватара для mwz

Ветеран


Contributor


Сообщения: 8032
Благодарности: 1927

Профиль | Сайт | Отправить PM | Цитировать


vsuwi, а при чём тут юникод в пути к файлу??

В вашем примере сам файл содержит юникодные символы, которые будут потеряны.

Используйте не рудиментарный Блокнот, а редакторы, которые нормально работают с юникодом.

-------
Mikhail Zhilin


Отправлено: 22:38, 30-08-2016 | #6


Новый участник


Сообщения: 14
Благодарности: 1

Профиль | Отправить PM | Цитировать


блокнот умеет сохранять в юникоде но тогда батники не работают.
во всяком случае у меня на вин 10.


на батник в юникоде винда ругается.

Отправлено: 22:43, 30-08-2016 | #7

mwz mwz сейчас на форуме

Аватара для mwz

Ветеран


Contributor


Сообщения: 8032
Благодарности: 1927

Профиль | Сайт | Отправить PM | Цитировать


vsuwi

Тэк-с... Т.е. вы показали не результат работы батника — а результат сохранения текста батника (в тексте которого единственная строка, содержащая латиницу и кириллицу).

Вы эту строку сами вбивали — или откуда-то копировали? Поскольку зрительно тут текст на чистом русском. Который для батника надо сохранять в кодировке DOS (OEM с кодовой страницей 866), а не ANSI (Windows-1251): иначе, даже когда вы поставите в языковых настройках язык для не-юникодовых программ "Russian" вместо, судя по всему, стоящего сейчас "English (US)" — батник не заработает.

-------
Mikhail Zhilin


Последний раз редактировалось mwz, 30-08-2016 в 23:26.


Отправлено: 22:57, 30-08-2016 | #8


Новый участник


Сообщения: 14
Благодарности: 1

Профиль | Отправить PM | Цитировать


диспозиция: windows 10 - local: British English.
мои действия и результат:
1) открыл блокнот ввел
Код: Выделить весь код
 F:\Example\calc.bat
1.1) сохранил в ANSI
result: исполняется calc.bat
всё отлично!
2) открыл блокнот ввел
Код: Выделить весь код
 F:\Справки\calc.bat
2.1) при попытке сохранить батник ругается на юникод и предлагает при сохранении выбрать юникод а иначе данные будут потеряны.
2.2) батник сохранённый в юникод не работает в принципе.
примеры:
bat file saved with unicode+folder name in path with unicode:
Код: Выделить весь код
F:\Справки\calc.bat
pause>nul
result:
Код: Выделить весь код
C:\Users\me\Documents\D3TEMP>F:\Справки\calc.bat
The filename, directory name, or volume label syntax is incorrect.
bat file saved with unicode+folder with ANSI name:
Код: Выделить весь код
F:\Example\calc.bat
pause>nul
result:
Код: Выделить весь код
C:\Users\me\Documents\D3TEMP>F:\Example\calc.bat
The filename, directory name, or volume label syntax is incorrect.
я найду решение это очевидно но я хочу уметь как профессионалы.

Отправлено: 23:40, 30-08-2016 | #9

mwz mwz сейчас на форуме

Аватара для mwz

Ветеран


Contributor


Сообщения: 8032
Благодарности: 1927

Профиль | Сайт | Отправить PM | Цитировать


Цитата vsuwi:
я найду решение это очевидно »
Я вам его уже привёл.
Батники, содержащие русские имена, необходимо сохранять в кодировке DOS с кодовой страницей 866.
И не забывать брать имена с путями, содержащие пробелы, в двойные кавычки.
Т.е. не просто c:\users\Вася Пупкин\Рабочий Стол\text.txt, а "c:\users\Вася Пупкин\Рабочий Стол\text.txt" (а правила хорошего тона вообще рекомендуют использовать кавычки даже при отсутствии пробелов).

Это всё.

Цитата vsuwi:
windows 10 - local: British English »
Локаль здесь не при чём. При любой локали язык для неюникодных программ выбирается самостоятельно и не влияет на основной интерфейс.

Привожу скриншот с русской версии Win-10 — но, думаю, на английской проделать по образцу будет несложно:



После того, как вы измените здесь язык на русский — Блокнот ваш при сохранении перестанет ругаться.
Но вас это не спасёт, поскольку Блокнот не умеет сохранять в кодовой странице 866.
Я для этих целей использую AkelPad — но могу назвать ещё с десяток-другой текстовых редакторов, которые, в отличие от Блокнота, сохраняют в формате массы кодовых страниц, в т.ч. в 866.

PS
Не пробовал, но скорее всего даже язык неюникодных программ можно не трогать — а просто сохранять в кодировке 866. Используя не рудиментарный Блокнот, а чуть более продвинутый текстовый редактор. Да даже MS Word умел сохранять в 866.

-------
Mikhail Zhilin


Последний раз редактировалось mwz, 31-08-2016 в 00:40.


Отправлено: 00:33, 31-08-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] что делать если bat в ascii а в пути к файлам папки с unicode именами?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] не работает bat файл если в пути имеются русские символы. Pinguine Скриптовые языки администрирования Windows 6 28-10-2018 20:32
Разное - Что делать, если Компьютер тормозит?! Dvoe4nicK Тест-форум 2 31-08-2013 22:58
Что делать,если не включается КПК? arseniiavr Мобильные ОС, смартфоны и планшеты 23 03-04-2011 10:25
"Найти и заменить" — ascii/unicode tool semiono AutoIt 4 29-06-2010 03:29
Если программа не дружит с русскими именами файлов - что делать? Igor_I Программное обеспечение Linux и FreeBSD 6 24-11-2006 23:19




 
Переход