! | CaptainFlint: |
Тема перенесена в "Автоматизацию". |
Quote: |
Тут речь только о файлах. |
antabu wrote: |
(или найти) |
Quote: |
Insert + Вниз + Insert + Вниз + Insert + Вниз + Insert + Вниз + ... |
Code: |
TOTALCMD#BAR#DATA |
Code: |
' zebra-mark.vbs (by helb) |
helb wrote: |
подобный вроде где-то в общей теме по скриптам пробегал |
Code: |
.SendKeys "<хоткей для cm_SaveSelection>" |
Code: |
' zebra-mark.vbs (by helb) |
Code: |
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Hjkma wrote: |
наиболее удобный |
Code: |
'================================================================ |
Flasher wrote: |
Там со слэшем на конце какая-то история. Видимо, в тогдашней версии ТС он был не нужен. |
sa wrote: |
С новым скриптом появилась ошибка в виде без подкаталогов |
sa wrote: |
не решилась предыдущая проблема при выделении зеброй в архивах |
Flasher wrote: |
Появилась или была? |
Flasher wrote: |
Не вижу практической пользы выделять зеброй в таком режиме. |
sa wrote: |
Догадаешься, кто поднял вопрос про кривизну срабатывания в таком режиме? |
Flasher wrote: |
Опций нет. Всё подряд выделяет. |
Flasher wrote: |
Что-то криво выделяет. То через 3, то через 5, часть подряд, часть не выделено, потом опять, половину каталогов может не выделить, |
Flasher wrote: |
первый параметр вообще ничего не даёт. |
Flasher wrote: |
"0 - с n-го файла/каталога" - какая-то странная опция. В чём его практический смысл? |
LonerD wrote: |
отобразится список всех обрабатываемых файлов/каталогов, а затем список выделяемых |
LonerD wrote: |
Случайно не в Branch view выделяешь? Такой вариант не поддерживается. |
LonerD wrote: |
Теперь выделение начинается с того файла/каталога, номер которого указан во втором параметре (по умолчанию с первого) |
Flasher wrote: |
Пусто. |
LonerD wrote: |
А что мешает сделать? |
Flasher wrote: |
Как у меня не хочешь сделать? |
LonerD wrote: |
AHK последняя? |
LonerD wrote: |
Незнание как это сделать |
LonerD wrote: |
Вроде ж и у тебя режим выделения и шаг параметрами задаются. |
Flasher wrote: | ||
|
Flasher wrote: |
У меня мог посмотреть. |
Flasher wrote: |
Посмотри название. |
LonerD wrote: |
Нет, не в цикле, так как ты сказал, что "Пусто". |
LonerD wrote: |
В чём причина - не могу понять . |
LonerD wrote: |
В итоге разобрался, не знал про такую фишку с выделением. |
Flasher wrote: |
Пишу первым параметром 3, а он выделяет в DirBranch файл под курсором. |
Flasher wrote: |
А ты буферный текст просто записать в какой-нибудь txt можешь? |
LonerD wrote: |
А... ну да... Совсем забыл. |
LonerD wrote: |
Обновил скрипт |
Flasher wrote: |
Ты о чём? 3 - это выделение только папок. |
LonerD wrote: |
Так как выделения нет - то команда копирует имя и путь к файлу под курсором, и скрипт его дальше обрабатывает. |
sa wrote: |
хоть параметры придумай для опции, отличные от размера шага, например A, F, D. |
Flasher wrote: |
В таком случае возникнет необходимость в дополнительных манипуляциях в коде. |
sa wrote: |
уже нашёл её не клавиатуре. |
sa wrote: |
Я предпочёл бы иметь одну кнопку, в которой изменяемым параметром был только шаг. |
Quote: |
P = .Item(1) : Mode = .Item(0) : Step = .Item(2) |
LonerD wrote: |
Или же когда в каталоге нет вообще ничего...
Тогда команда 2021 (Копировать в буфер имена с UNC-путями) вместо того, чтобы скопировать в буфер ничего (то есть просто очистить буфер) высвечивает модальное окошко "No files selected". Как эту дрянь обойти - пока не знаю. |
Quote: |
Проблема с нестабильностью также, как оказалось, легко решилась. |
sa wrote: |
Главное не процитировано: Никаких наворотов с папками и файлами. |
sa wrote: |
... От сортировки содержимое зебры тоже сильно зависит. |
sa wrote: |
По-моему vbCr & перед Join не хватает. |
sa wrote: |
Проверь, после cd c:\ и cd C:\ скрипт оба раза выдаёт результат? |
sa wrote: |
пока не привёл в коде строковые данные к одному регистру, в доброй половине пунктов меню избранных каталогов зебра не работала. |
sa wrote: |
Иногда выскакивает сообщение о несоответствии типа Join. |
Flasher wrote: |
абсолютно непринципиально |
Quote: |
Не будет. |
Quote: |
Но это никак не связано с vbCr. Исправил (см. 1-й параметр). vbCr тоже добавил, |
Quote: |
хотя это на скорости никак не отразится. |
sa wrote: |
Значит, всё-таки подтверждаешь. |
sa wrote: |
А зачем добавлял, если не связано? |
sa wrote: |
Кто-то говорил про скорость? |
Quote: |
Я имел в виду тест без шифта. |
Quote: |
И в обновлённом варианте это уже стало необходимостью. |
Quote: |
Проверь, после cd c:\ и cd C:\ скрипт оба раза выдаёт результат? |
sa wrote: |
С шифтом или без разницы нет, если первым элементом списка будет файл из подпапки, о чём я уже писал. |
sa wrote: |
С файла под курсором везде перестало работать выделение, если он первый в списке. |
sa wrote: |
ответа не будет? |
Flasher wrote: |
Там всё нормально было. |
Flasher wrote: |
У тебя параметры верно указаны |
Flasher wrote: |
в котором в т.ч. подразумевается ответ |
sa wrote: |
Значит, не проверял. |
Flasher wrote: |
зря потратил время на глупость. |
sa wrote: |
не трать время |
sa wrote: |
TC возвращает у меня имя диска в том регистре, по которому осуществлялся переход к нему |
sa wrote: |
c файла под курсором перестало работать выделение, если он первый в результатах поиска. |
Flasher wrote: |
Это как? |
Flasher wrote: |
Чудеса, да и только. |
sa wrote: |
Кстати они стопроцентно воспроизводились с твоим скриптом (тем что с параметром %P) на TC со стандартными установками. |
sa wrote: |
и стоит сообщать на оффорум. |
Flasher wrote: |
Зачем ещё раз писать об этом? |
Flasher wrote: |
Ты будешь сообщать? |
sa wrote: |
Может, почаще станешь проверять свои скрипты и на стандартном TC. |
sa wrote: |
я то не сумел воспроизвести проблему |
Flasher wrote: |
если потребуется. |
sa wrote: |
это серьёзное упущение и стоит сообщать на оффорум. |
sa wrote: |
может оказаться полезным для сплошного выделения от позиции курсора до конца списка |
Code: |
TCFS2.exe /ef "tcm(524) send(`+{END}{HOME}`) delay(5) tcm(2053)" |
Flasher wrote: |
Нет, не считаю. |
Flasher wrote: |
TCFS2 |
sa wrote: |
при шаге, большем количества объектов, выделяются они все. |
sa wrote: |
Не, мне блокировка окна именно в Helper-е нравится, да и сплошное выделение здесь просто бонусом идёт. |
Flasher wrote: |
Сделано. |
Flasher wrote: |
последний штрих |
LonerD wrote: |
2) В каталоге лежит один файл. Устанавливаем курсор на каталог, выполняем команду 2046 cm_DirBranchSel. Ставим курсор на файл, вызываем скрипт - файл не выделяется. |
Code: |
Line: 25 |
Quote: |
но я про неё не скажу, |
sa wrote: |
Вскрываемся? |
Flasher wrote: |
С юникодными именами не сложилось |
sa wrote: |
В виде без подкаталогов работает только на [..]. |
sa wrote: |
В результатах поиска не пашет совсем. |
sa wrote: |
Описка: параметр ожидания , True должен быть расположен не до, а после .SendCommand 2033. |
sa wrote: |
Кстати, разделитель : сильно затрудняет просмотр кода и его изменений. |
Flasher wrote: |
Исправил. |
Flasher wrote: |
и не было ни до и ни после |
Code: |
.SetTextToClip CStr(Sp) |
sa wrote: |
Теперь: |
sa wrote: |
А в твоём исходном скрипте, с которого начался весь сыр-бор, разве не было? |
Flasher wrote: |
Разве только в этом. |
sa wrote: |
Какое милое признание ошибки (?) |
sa wrote: |
Метод SetTextToClip(Text) ещё и параметры поддерживает? |
Flasher wrote: |
Не признание. |
Flasher wrote: |
Да, |
sa wrote: |
ошибки не признал |
sa wrote: |
Нашёл сам. |
Flasher wrote: |
Перед - не через перевод строки, а на той же, что не одно и то же. |
Flasher wrote: |
Ага, вот оно что за параметр.
|
sa wrote: |
Поподробней можно? |
sa wrote: |
должен быть расположен не до, а после .SendCommand 2033. |
sa wrote: |
Так ты не был не в курсе, для чего параметр, а пытался его использовать? |
Flasher wrote: |
Я его просто использовал. |
sa wrote: |
Коли обсуждение содержимого скрипта, считается разговором "ни о чём" |
Quote: |
будет почва – поправлю |
Flasher wrote: |
это только чтобы тебе угодить |
Flasher wrote: |
добавка - это только чтобы тебе угодить |
Flasher wrote: |
Всё делалось для должной работоспособности. |
sa wrote: |
необходимость их упоминания отпала во всех последующих вызовах SendCommand. |
ReadMe.txt wrote: |
Wait глобальное свойство, которое определяет, будут ли для
отсылки команд Тоталу использоваться ... SendMessage (при установке значения True) |
Quote: |
C помощью необязательного параметра Wait можно переопределить параметр ожидания (действует только для данной конкретной команды!) |
sa wrote: |
Разве не о том глобальном? |
Code: |
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Flasher wrote: |
Кстати, по скорости моему скрипту уступает. |
LonerD wrote: |
Вроде исправил все ошибки. |
LonerD wrote: |
Добавление выделения от курсора и борьба с нюансами Тотала - вылились в необходимость использовать WM_COPYData. |
LonerD wrote: |
оба варианта (твой и мой) на каталоге с 22 тысячами файлов (System32, вид без подкаталогов) отработали за 12-13 секунд |
LonerD wrote: |
Кстати, у тебя при параметрах %Z%V 1 1 - если курсор находится на строке [..] - выскакивает докучливое Тоталовское окошко об отсутствии выделения. |
Quote: |
Заодно можешь и во всех других местах убрать |
Quote: |
SendMessage (при установке значения
True). При истинном значении этого свойства всегда ожидается реакция TC на посланную команду и только при получении результата передаётся управление в скрипт. |
Flasher wrote: |
Можно везде поубирать True после SendCommand и убедиться, что вообще ничего кроме элемента под курсором выделено не будет даже в папках, где всего 2-3 объекта.
|
sa wrote: |
Спасибо, что все три SetTextToClip стали теперь единообразными! |
Flasher wrote: |
Нашёл чему радоваться. |
Quote: |
True после .SendCommand 2033 добавил. А вот , True после .SetTextToClip Sp всё-таки не убрал. |
Flasher wrote: |
Если брать небольшое кол-во файлов, то новый твой вариант объективно быстрее предыдущего. |
Flasher wrote: |
про поиск в архивах всё молчим. |
LonerD wrote: |
Ну, у меня почему-то не вылились, использовались вполне простые пути решения. |
Flasher wrote: | ||
|
LonerD wrote: |
Кстати, сейчас проверил - у тебя тоже ведь не работает ))) (форум и твою беседу с sa не читаю) |
LonerD wrote: |
1. У разных скриптовых языков разные возможности. |
LonerD wrote: |
Беру его в кавычки |
LonerD wrote: |
Насчёт выделения файлов в результатах поиска в архивах - не знаю как реализовать. |
Flasher wrote: |
Так попробуй: "%P\" |
! | Avada: |
Избыточное цитирование удалено. |
antabu wrote: |
Подскажите, пожалуйста, как выделить (или найти), например, все чётные файлы в папке, а то я с явовскими скриптами не в ладах.
|
LonerD wrote: |
Насчёт выделения файлов в результатах поиска в архивах - не знаю как реализовать. Простая загрузка выделения из буфера командой 2033 не работает при данном режиме отображения. |
Skif_off wrote: | ||
LB_SETSEL в таком случае работает: получить количество пунктов (LB_GETCOUNT) и слать LB_SETSEL с индексами в цикле. |
Skif_off wrote: |
(В режиме эскизов не работает.) |
LonerD wrote: |
Это в ТС9 появилось? |
Code: |
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
LonerD wrote: |
Благодаря новым возможностям ТС9 удалось значительно сократить и оптимизировать скрипт. |
jackal-85 wrote: |
что я делаю не так? |
Flasher wrote: | ||
2. Не так сохраняете. Это ahk, а не vbs (себе потом тоже делал упрощённый под ТС9). Запускается через свой интерпретатор. 3. Не читаете внимательно шапку скрипта и памятку раздела. |
Flasher wrote: |
Во-первых, приведены ссылки, по которым есть возможность определиться с выбором. |
Flasher wrote: |
Во-вторых, тут де-факто принято сперва читать прикреплённую памятку без задавания лишних вопросов. |
Flasher wrote: |
В-третьих, как-то вот обходимся мы без установки, поэтому предлагать подобное выглядело бы с моей стороны нелепицей. Под запуском через интерпретатор понимается не что иное, как подстановка пути перед путём к скрипту. |
jackal-85 wrote: |
не нашёл в теме |
jackal-85 wrote: |
не знаю как можно обойтись |
Flasher wrote: |
проблема есть только при установке курсора на [..], ибо файлы всегда идут следом. Верно? |
HEXFIX wrote: |
не обязательно на [...] |
Flasher wrote: |
На [..] не срабатывает? |
Flasher wrote: |
файлы всегда идут следом
начиная с элемента под курсором |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours