IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Проблема с кириллицей в .bat
Unconnected
сообщение 26.03.2010 21:52
Сообщение #1


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Привет всем.

С недавних пор столкнулся с такой проблемой, что мой bat-файл в одной директории работает, а в другой не работает. Содержание например такое:
Цитата

move /Y "C:\Documents and Settings\Unconnected\Рабочий стол\Безымянный.jpg" "C:\1.jpg"


Так картинка не перемещается. Опытным путём удалось установить, что вся проблема в кириллических словах в пути к файлу (в данном случае Рабочий стол). Вместо move может быть что-то другое. При запуске bat-ника из cmd последняя так и говорит - файл не найден. Хотя, если сделать например:

Цитата

move /Y "C:\Documents and Settings\Unconnected\Безымянный.jpg" "C:\1.jpg"


, то всё работает. Я думал, проблема в кодировке, менял на chcp 1251 и ещё на какую-то - безрезультатно.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.03.2010 22:36
Сообщение #2


Гость






Цитата
Я думал, проблема в кодировке, менял на chcp 1251 и ещё на какую-то - безрезультатно.
BAT-файл должен быть сохранен в OEM кодировке, то есть кодовая страница 866 для русской Windows.

Вообще, вот эту тему почитай ...
 К началу страницы 
+ Ответить 
Lapp
сообщение 26.03.2010 23:06
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Интересно, настанет ли когда-либо тот счастливый день, когда проблемы кодировок канут в прошлое и не возвратятся? rolleyes.gif

Поставлю вопрос более точно: возможно ли вообще теоретически создание системы, в которой ошибки с кодировками будут исключены? Я имею в виду не то, что нельзя будет намеренно установить неправильную кодировку, а то, что нечаянные действия не смогут привести к ошибке.

P.S.
за детство счастливое наше - спасибо Кириллу с Мефодием! norespect.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 26.03.2010 23:07
Сообщение #4


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


А надо именно сохранить файл в 866 или достаточно просто поменять кодировку в батнике? Я перед своим кодом пишу chcp 866, и то же самое.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 26.03.2010 23:13
Сообщение #5


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Unconnected @ 26.03.2010 23:07) *
А надо именно сохранить файл в 866 или достаточно просто поменять кодировку в батнике? Я перед своим кодом пишу chcp 866, и то же самое.
Конечно, сохранить. Ты говоришь ей, что используешь 866, а сам сохраняешь в 1251. Кто кого надул? smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 26.03.2010 23:30
Сообщение #6


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


А вот сохранить файл в определённой кодировке - это значит сохранить каждую строку файла в этой кодировке, или сама структура файла какая-то другая? Просто я на делфи это делать буду.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 26.03.2010 23:34
Сообщение #7


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Unconnected @ 26.03.2010 23:30) *
А вот сохранить файл в определённой кодировке - это значит сохранить каждую строку файла в этой кодировке, или сама структура файла какая-то другая? Просто я на делфи это делать буду.
Структура ни при чем. Каждая русская буква должна быть в 866.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 27.03.2010 0:25
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Иначе говоря, буква "Б" должна быть $81, а не $C1, как в 1251

http://ru.wikipedia.org/wiki/%D0%90%D0%BB%...%B2%D0%BA%D0%B0


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 27.03.2010 0:38
Сообщение #9


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Ага. Ну мне помогла такая функция:

function MyWriteln(const S: string):string;
var
NewStr: string;
begin
SetLength(NewStr, Length(S));
CharToOem(PChar(S), PChar(NewStr));
result:=newstr;
end;


volvo и Lapp, спасибо за ответы) Я, кстати, раньше бывало тоже задумывался, зачем все эти кодировки нужны, но потом пришёл к выводу, что это точно кому-нибудь нужно..) Про братьев Солунских не понял, если честно.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 26.11.2010 12:18
Сообщение #10


Гость






Попробуйте вот так:
chcp 1251
move /Y "C:\Documents and Settings\Unconnected\Рабочий стол\Безымянный.jpg" "C:\1.jpg"
chcp 866
 К началу страницы 
+ Ответить 
Malishtuh
сообщение 16.12.2014 13:59
Сообщение #11


Гость






А самые безумно красивые и сексуальные девушки единственно для востоке

И, разве составлять честным и серьезными то самые поездатые поезда где?....


P.S. Общение по веб камере помогают укрепить мужчинам потенцию и Виагра не нужна
 К началу страницы 
+ Ответить 
Malishtuh
сообщение 16.12.2014 16:50
Сообщение #12


Гость






А самые безумно красивые и сексуальные девушки всего для востоке

И, когда быть честным и серьезными то самые поездатые поезда где?....


P.S. Общение по веб камере помогают укрепить мужчинам потенцию и Виагра не нужна
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 17.11.2024 2:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"