В выражениях имена переменных не обрамляются знаками процента. Исключением являются массивы и другие структуры с двойной отсылкой. В результате, чтобы в выражениях различать переменные и буквальные строки, последние необходимо заключать в двойные кавычки.
А в msgbox переменные только с процентами нужно записывать, иначе это считается за текст.
В любом случае можно обрамить с обоих сторон знаком % (старый способ) или поставить один знак %, затем пробел и переменную (а параметры %1%, %2% и т.д. вроде обязательно двумя % надо обрамлять)
Равноценные записи:
MsgBox, % retVal
MsgBox, %retVal%
В синтаксисе много неочевидных вещей, сокращений (например, после MsgBox в предыдущем примере запятые можно опустить)... Частично это пытаются исправить в AHK 2.0, которая уже несколько лет всё ещё на стадии альфы.
Добавлено спустя 1 час 27 минут:
Just another working AHK script - скромно охарактеризовал автор свой скрипт.
Он хоть и на пять строк длиннее (если это суть важно), зато всё-в-одном - и данные получать (причём сразу можно их в желаемую переменную пихать), и пользовательские команды выполнять, и команду CD выполнять.
LonerD
В общем, суть ясна. Забытое вернуть можно лишь подсказкой и практикой.
SN на твоём месте я бы не стал трогать. Слишком много кода, когда есть параметр.
Остаётся пока вопрос - как заполучить список (в т.ч. выделенный) без буфера?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher писал(а):Остаётся пока вопрос - как заполучить список (в т.ч. выделенный) без буфера?
Я не знаю даже как это сделать с буфером... Именно выделенные файлы.
Flasher писал(а):я ... использую механизм Хелпера, там он берёт только выделенное.
А вот интересно - как Хелпер берёт только выделенное, как в нём работает GetSrcSelectedFiles, какие механизмы задействует... Возможно, их можно было бы и без усилий переложить на Autohotkey. Только вот исходников Хелпера не выложено...
LonerD писал(а):Я не знаю даже как это сделать с буфером... Именно выделенные файлы.
Там не выделенные, а выбранные. А как не трогать под курсором - уже не тут.
LonerD писал(а):Только вот исходников Хелпера не выложено.
И что? Ты бы многое почерпнул?
Меня же больше интересует отображаемый список.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
[s]Нашёлся один баг. В "Сеть/FS-плагины" число элементов возвращает на один больше.
Есть кому сообщить?[/s]
Последний раз редактировалось Flasher Пн ноя 23, 2015 09:28, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Win7x64, обе разрядности ТС, AutoIt 3.3.8.1, 3.3.12.0 и 3.3.14.2: не подтверждаю.
WinXP SP3, WinPE на базе WinXP SP2 аналогично без проблем.
Отправляю "SC", "TC", "LC", "RC".
Отбой. Я не обратил внимания, что <Обновить>.<lnk> - это файл, а смотрел только на число папок.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
│ Команда │ Параметры │ Результат │
│—————————————————————————————————————————————│
│ cd │ %V%Z │ + │
│ TCFS2 │ /ef "tcd(`%V%Z\`,,S)" │ - │
Кто сообщит?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
А разве в CD в принципе поддерживаются %-параметры вне панели инструментов и EM-команд? Если надо, можно юзер-команду сделать с %-параметрами и дергать из TCFS2...
MVV
Как минимум, в меню "Запуск" должны поддерживаться. И (при некотором умении, если указывать не через стандартный диалог TC) в меню избранных каталогов.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Согласен, мест, где %-параметры поддерживаются, больше, чем я указал, однако основная мысль была о том, что нельзя просто так взять и использовать %-параметры в командной строке тотала или в команде CD, выполняемой через WM_COPYDATA.
MVV
Столбец "Параметры" подразумевает одноимённое поле в настройке кнопки/юзеркоманды. %-ы никакого отношения к делу не имеют. Это проверочные данные для воспроизведения.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
MVV писал(а):только если мы находимся где-то внутри архива:
А я так и написал:
Flasher писал(а):при нахождении в нём
MVV писал(а):присутствие %Z в данном случае ничего не решает
%Z, как известно, нужен исключительно при наличии других переменных параметров ТС. В моём случае это %V.
MVV писал(а):Т.е. комстроку тоже надо корректировать?
Суть не в том, на какой строке параметры. Суть в самом поведении.
MVV писал(а):А вход в архив через аргументы тотала работает?
В корень? А почему нет-то? Конечно.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
MVV
Спасибо за запрос. Но зачем ты пишешь 'doesn't' про команду cd, ведь сам выше подтвердил, что она работает при открытом отображении заданной папки
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.