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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Кавычки, пробелы, русские буквы

Ответить
Настройки темы
[решено] Кавычки, пробелы, русские буквы

Ветеран


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

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


Здравствуйте.
Есть такая проблемка: научите меня, пожалуйста, если у кого есть время, возможность, желание, как правильно расставлять кавычки в autoite?
Например, вот так:
Код: Выделить весь код
FileInstall("block bl ock - копия ко пия.exe", ""@UserProfileDir" & "\block bl ock - копия ко пия.exe"")
выдает ошибку при компилировании, а почему - я не знаю, кавычки я дублировал

Мне надо, чтобы путь, возвращаемый @UserProfileDir, был с кавычками.
Например, если @UserProfileDir=C:\block bl ock - копия ко пия, то C:\block bl ock - копия ко пия надо взять в кавычки
Иначе, если без кавычек, будет так C:\block - обреззка пути до первого пробела, а мне надо, чтобы полностью было C:\block bl ock - копия ко пия

Попутный вопрос: в cmd русскоязычные пути надо cmd файл сохранять в кодировке OEM-866 (русская) при помощи программы AkelPad или другой программы

Как дело обстоит с кодировкой в autoit - можно ли как нибудь принудительно, глобально, для всего кода задать кодировку OEM-866 (русская) или autoit нормально дружит с русскими путями, содержащими пробелы, при выполнении файлов?

В общем мне надо сделать 100%но универсальный файл, как для русский путь, так и английский путь, как слова с пробелами, так и слова без пробелов - в cmd это решалось взять путь в кавычки+сохранить файл в кодировке OEM-866 (русская)

А как это делается в autoite?

Спасибо.

Отправлено: 00:09, 04-05-2014

 

Ветеран


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

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


Как-то так (сама необходимость наличия кавычек не проверялась):
Код: Выделить весь код
FileInstall("""block bl ock - копия ко пия.exe""", """" & @UserProfileDir & "\block bl ock - копия ко пия.exe""")
Цитата SharkyEXE:
Как дело обстоит с кодировкой в autoit - можно ли как нибудь принудительно, глобально, для всего кода задать кодировку OEM-866 (русская) или autoit нормально дружит с русскими путями, содержащими пробелы, при выполнении файлов? »
Для чего Вы увязываете в Вашем вопросе кодировку и пробелы?

Цитата SharkyEXE:
В общем мне надо сделать 100%но универсальный файл, как для русский путь, так и английский путь, как слова с пробелами, так и слова без пробелов - в cmd это решалось взять путь в кавычки+сохранить файл в кодировке OEM-866 (русская) »
Что мешает просто взять и проверить — кодировки, кавычки?
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:19, 04-05-2014 | #2



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

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


Ветеран


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

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


Цитата Iska:
(сама необходимость наличия кавычек не проверялась) »
Не поверите, кавычки для меня не помеха, но они помогают избавиться от проблем, что в пути будут пробелы.
Цитата Iska:
Для чего Вы увязываете в Вашем вопросе кодировку и пробелы? »
Да просто это самое проблемное место в cmd файлах лично для меня, точнее русские буквы и наличие пробелов.
Если в cmd файле есть русские буквы в путях, названиях файлов+наличие пробелов, а в cmd файле нету кавычек+кодировка не OEM-866, то такой cmd файл не будет работать, поэтому для всех моих cmd файлов я везде ставлю кавычки+везде кодировка OEM-866, пусть даже пути и названия файлов английские+даже если нету пробелов
Цитата Iska:
Что мешает просто взять и проверить — кодировки, кавычки? »
Да вот мне легче один раз кавычки правильно расставить+принудительно выставить кодировку OEM-866 и забыть про проблемы. Вот поэтому я и интересуюсь, возможно или нет принудительно в autoit выставить глобальную кодировку для всего au3 файла как OEM-866 (аналог сохранить cmd файл в OEM-866 кодировке)

Последний раз редактировалось SharkyEXE, 04-05-2014 в 08:30.


Отправлено: 06:16, 04-05-2014 | #3


Ветеран


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

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


Цитата Iska:
FileInstall("""block bl ock - копия ко пия.exe""", """" & @UserProfileDir & "\block bl ock - копия ко пия.exe""") »
У меня система Win 7 Ult X64 SP1, выдется такое: http://yadi.sk/d/CWW435CtNy8pf

Отправлено: 08:30, 04-05-2014 | #4


Ветеран


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

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


Цитата SharkyEXE:
Не поверите, кавычки для меня не помеха, но они помогают избавиться от проблем, что в пути будут пробелы. »
Вы не поняли меня — я не проверял само Ваше утверждение о необходимости обрамляющих кавычек при наличии пробелов в имени/пути для данной команды.

Цитата SharkyEXE:
Да просто это самое проблемное место в cmd файлах лично для меня, точнее русские буквы и наличие пробелов.
Если в cmd файле есть русские буквы в путях, названиях файлов+наличие пробелов, а в cmd файле нету кавычек+кодировка не OEM-866, то такой cmd файл не будет работать, поэтому для всех моих cmd файлов я везде ставлю кавычки+везде кодировка OEM-866, пусть даже пути и названия файлов английские+даже если нету пробелов »
В пакетных файлах нет понятия «строки», в отличие от того же AutoIt, WSH и т.п.

Цитата SharkyEXE:
Да вот мне легче один раз кавычки правильно расставить+принудительно выставить кодировку OEM-866 и забыть про проблемы. Вот поэтому я и интересуюсь, возможно или нет принудительно в autoit выставить глобальную кодировку для всего au3 файла как OEM-866 (аналог сохранить cmd файл в OEM-866 кодировке) »
Зачем, для чего Вам нужна OEM/866?!

Цитата SharkyEXE:
У меня система Win 7 Ult X64 SP1, выдется такое: http://yadi.sk/d/CWW435CtNy8pf »
Пришлось-таки читать документацию по команде. Итак, ровно то, о чём я говорил выше: никакие обрамляющие кавычки не нужны ни в первом, ни во втором параметрах. И имя файла незачем дублировать. Т.е.:
Код: Выделить весь код
FileInstall("block bl ock - копия ко пия.exe", @UserProfileDir & "\")
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:33, 04-05-2014 | #5


Ветеран


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

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


Цитата Iska:
Зачем, для чего Вам нужна OEM/866?! »
Ровно для того же, для чего и в cmd файлах - чтобы русские названия файлов, русские пути файлов были русскими, а не кракорябрами.
Только я не знаю, в autoit русские названия файлов, русские пути файлов будут русскими или кракозябры?

Последний раз редактировалось SharkyEXE, 04-05-2014 в 11:16.


Отправлено: 10:37, 04-05-2014 | #6


Ветеран


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

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


Цитата Iska:
FileInstall("block bl ock - копия ко пия.exe", @UserProfileDir & "\") »
Та жа самая ошибка http://yadi.sk/d/CWW435CtNy8pf, можете проверить сами

Отправлено: 11:16, 04-05-2014 | #7


Ветеран


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

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


SharkyEXE, я проверял перед тем, как писать.





Цитата SharkyEXE:
Только я не знаю, в autoit русские названия файлов, русские пути файлов будут русскими или кракозябры? »
Русскими. Единственное, для чего может понадобится перекодировка (а не сохранение исходного кода) в OEM/866 — вывод на консоль.

Отправлено: 15:22, 04-05-2014 | #8


Ветеран


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

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


1) отсюда http://www.autoitscript.com/site/autoit/downloads/ я скачал файл http://www.autoitscript.com/cgi-bin/...t-v3-setup.exe (AutoIt Full Installation, 3.3.10.2)
2) установил файл http://www.autoitscript.com/cgi-bin/...t-v3-setup.exe тупо везде жав Далее
3) сделал Пуск -> Все программы -> AutoIt v3 -> SciTE Script Editor
4) ввел строку
Код: Выделить весь код
FileInstall("block bl ock - копия ко пия.exe", @UserProfileDir & "\")
5) нажал Tools -> Compile
6) вывалилась ошибка: http://yadi.sk/d/CWW435CtNy8pf

Iska
Пожалуйста, если у Вас есть время, возможность, желание - поделитесь со мною тем дистрибутивом autoit, которым пользуетесь Вы, что у Вас все нормально.
Вполне возможно, что новые версии autoit всяко хуже, чем Ваша версия, потому что у Вас все нормально, а на самой последней версии autoit, которую установил я, у меня проблема.

Спасибо.

Отправлено: 15:53, 04-05-2014 | #9


Ветеран


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

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


SharkyEXE, установил текущую версию — 3.3.10.2. Компилируется корректно.

Антивирус у Вас так шалить не может? В безопасном режиме пробовали?

Отправлено: 16:31, 04-05-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Кавычки, пробелы, русские буквы

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Русские буквы в KDE grav Программное обеспечение Linux и FreeBSD 6 09-03-2007 17:21
Русские буквы в URL antOOn Хочу все знать 12 24-01-2005 13:50
Русские буквы в Fluxbox karlison Общий по Linux 7 14-03-2004 20:18
русские буквы в Redhat8.0 Ge0rge Общий по Linux 6 30-10-2003 03:09
mc и русские буквы unknown Общий по Linux 6 21-07-2003 08:09




 
Переход