|
Копирование И Вставка Файлов |
|
|
saraconor |
27.5.2011, 18:06
|
Novice
Сообщений: 72
Регистрация: 30.10.2009 Группа: Пользователи Наличность: 0
Пользователь №: 12.180
|
задача: есть файл 1.cdr он лежит в фиксированной папке, как сделать так чтобы пилот в любой открытой папке на компьютере создавал копию этого файла? открываю папку, далее действует такой скрипт: Код set clipboard wait 100 sendex @{tab} wait 100 sendex {f4} sendex ^{a} wait 50 sendex ^{c} wait 270 get clipboard $путь итак, мы имеем путь к этой папке, а дальше как быть? (пробывал копировать bat файлом, но он плохо воспринимает кирилицу и длинные имена) может есть возможность с помощью пилота положить файл прямо в буфер обмена?
|
|
|
|
saraconor |
29.5.2011, 19:47
|
Novice
Сообщений: 72
Регистрация: 30.10.2009 Группа: Пользователи Наличность: 0
Пользователь №: 12.180
|
Код set #var windowfromcursor set #handle windowfromcursor set workwindow #handle
wait 100 sendex @{tab} wait 100 sendex {f4} sendex ^{a} wait 300 sendex ^{c} wait 400 get clipboard $путь sendex {f6} set $файл E:\скачивание\гдето там set $1 copy set $2 "
set %ar [1 1] chcp 1251 set %ar [2 1] $1 $2$путь
save_array %ar E:\soft\запуск.txt terminate uopilot почему вместо текстового файла с таким содержанием: chcp 1251 copy "E:\soft (путь был скопирован в буфер) получается: chcp 1251 copy "$путь при этом, если сделать вот так: set %ar [1 1] $путь то в файле будет нормально прописан захваченый прежде путь? кстати, периодически пилот вместо нормального копирования выделеного текста (ctrl+a) в буфер обмена, копирует вот такую хрень E:\soft\???????\000 ???????\?????? похоже косяки с кирилицей.
|
|
|
|
saraconor |
31.5.2011, 21:15
|
Novice
Сообщений: 72
Регистрация: 30.10.2009 Группа: Пользователи Наличность: 0
Пользователь №: 12.180
|
не понял, что делать? вот пилот скопировал путь к файлу, занес его в переменную и в буфер обмена, оба они кажут ???, и каким образом это лечить кодировками? ВЫЯСНИЛ В ЧЕМ ПРИЧИНА!оказывается тут играет роль раскладка клавиатуры! если стоит EN, то скопирует путь с русскими названиями с ошибками! а если стоит RU, то соответственно нет. Теперь вопрос) собтсвенно как пилоту дать понять что в данный момент стоит английская раскладка, и нужно ее поменять?) вопрос отпал, оказалось что чисто русскую раскладку можно повесить на хоткей. думаю дальше) я чесно попытался понять твои выкладки по батникам, но безуспешно. чую тему затрагивает этот гайд: Код // БАГ:// Если в имени запустившего файла содержатся пробелы, // то корректно разделить имя файла и заголовок окна не // возможно. В таком случае первое слово имени файла будет // содержаться в 12 элементе, как и положено, а остальное // имя файла будет содержаться в названии окна. Например: // winStatus [ 1 12 ] uopilot// winStatus [ 1 13 ] 2 18 8 UoPilot v2 18 8 WK но каким боком, понять не могу( вот пример Код set #handle windowfromcursor set workwindow #handle // привязка к открытому окну sendex @{tab} // перепрыгиваем обратно на открытую папку wait 100 sendex ^{6} // переводим раскладку на русскую wait 200 sendex {f4} sendex ^{a} wait 300 sendex ^{c} // копируем путь к папке в буфер wait 400 get clipboard $путь sendex {f6} set $1 copy " set %ar [2 1] $1 $путь save_array %ar C:\........\запуск.txt wait 100 terminate uopilot как надо пописать $1 и $путь, чтобы они корректно отобразились в текстовом файле?
|
|
|
|
DarkMaster |
1.6.2011, 0:18
|
Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27738
Пользователь №: 11.279
|
Команды отсутствующие в хелпе 'set $var GetLayout' - возвращает раскладку клавиатуры в переменную $var. Хочу обратить внимание на то что возвращаются только последние 4 числа из 8 определяющих раскладку, так же не смотря на то, что стандартный русский и английский имеют значения 00000419 и 00000409, они являются шестнадцатеричными и другие раскладки могут содержать буквы A-F, следовательно стоит использовать строковую переменную ($), а не числовую (#). В случае не стандарной раскладки настоятельно рекомендую выполнить: set $a GetLayout msg $a т.к. значение может быть неожиданным, например для языка a0000419 раскладка возвращается не 0419, а F0C0.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|