View previous topic :: View next topic |
Author |
Message |
Gentoo69
Joined: 11 Jul 2010 Posts: 68
|
(Separately) Posted: Wed May 18, 2016 23:35 Post subject: [wdx] WinScript Advanced Content Plugin (x86\x64) (new) |
|
|
WinScript Advanced
(c) Alex Shy, 2016 (= автор топика)
Тема на оффоруме
Контентный плагин WinScriptAdv запускает скрипты для каждого файла и папки и возвращает результат работы скрипта (строку) в колонки.
Вы можете писать скрипты для получения любой полезной информации из файла/папки или парсить имя для сортировки в требуемом порядке, переименования в инструменте группового переименования и т.д.
Вы можете активировать неограниченное количество скриптов в одной группе колонок (в одной панели) - они будут работать совместно.
Скрин 1
Скрин 2
Скрин 3
Возможности:
* До 21 колонки в одном скрипте
* Неограниченное количество совместно работающих скриптов (по 21 колонке на скрипт) в одной группе колонок
* Возможность изменять заголовки колонок
* Поддерживаемые языки:
VBS, (через COM)
JS, (через COM)
Python (*.py) (через COM)
AutoHotKey (*.ahk) (через exe парсер)
PHP (*.php) (через exe парсер)
AutoIt (*.au3) (через exe парсер)
PowerShell (*.ps1) (через exe парсер, всегда запущен)
см. рабочие примеры скриптов в папке Scripts.
* Возможность устанавливать собственные скриптовые движки, указав путь к exe интерпретатора.
* Стабильный и быстрый
(быстрый в случае использования языков через COM - VBS, JS, Python, языки, которые работают через exe парсер - заметно медленнее)
* С открытым исходным кодом (Delphi XE8) - будет открыт в ближайшее время
Полностью совместим со скриптами, созданными для плагина script_wdx (автор Lev Freidin, wincmd.ru и totalcmd.net), у вас нет необходимости исправлять их: скрипты для WinScriptAdv имеют тот же формат - переменная с именем "filename" и переменные с результатом content, content1, content2, ... content20 (всего 21).
Полезные скрипты (идут вместе с плагином): CheckEncoding.vbs
Возвращает кодировку файла и окончание строк. Например: ASCII - CRLF (Win)
Signature.vbs
Возвращает первые 10 байт файла в виде текста или hex-последовательности. Может быть полезен, например, для поиска файлов с указанием сигнатуры.
DayOfWeek
Показывает день недели даты модификации файла.
Html_info
Два поля для html-файлов: заголовок страницы (title) и ссылка, по которой файл был скачан ("saved from", если есть).
SearchInFile
Поиск по содержимому файла с помощью регулярного выражения.
ReadFileLines
Получение содержимого строки текущего файла, с возможностью задать позицию начала и конца подстроки. Для группового переименования или пользовательских колонок.
FileOwner
Возвращает владельца файла/папки.
MinutesAgo
Возвращает разницу в минутах между текущей датой и датой папки/файла. Например:
Code: | Модифицирован:
3 min ago |
или
Скачать:
http://wincmd.ru/plugring/WinScriptAdv.html
Ваши предложения, сообщения о найденных ошибках, новые скрипты пожалуйста отправляйте в эту тему или в соседнюю.
**
Вы можете добавить все имеющиеся скрипты в раздел
[Script]
ActiveScripts=
Это не повлияет на производительность, т.к. скрипты запускаются только если колонка активна в ТС.
После этого можно добавить нужные колонки с разными скриптами и создать группы колонок, а затем легко переключаться между ними (нажав правую кнопку мыши в TC по колонке и выбрав в меню нужную группу колонок)
Last edited by Gentoo69 on Thu Sep 01, 2016 18:40; edited 6 times in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu May 19, 2016 03:42 Post subject: |
|
|
О как. Предчуствие не обмануло, коль затягивал с выкладкой. Что называется, кто не успел, тот опоздал.
Skif_off более полноценный и грамотно оформленный перевод скидывал с описаниями. Перенаправил в ЛС.
Вопросы вероятно появятся после некоторых тестов. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Thu May 19, 2016 17:01; edited 1 time in total |
|
Back to top |
|
|
Gentoo69
Joined: 11 Jul 2010 Posts: 68
|
(Separately) Posted: Thu May 19, 2016 04:26 Post subject: |
|
|
Flasher wrote: | О как. Предчуствие не обмануло, коль затягивал с выкладкой. Что называется, кто не успел, тот опоздал.
Skiff_off более полноценный и грамотно оформленный перевод скидывал с описаниями. Перенаправил в ЛС.
Вопросы вероятно появятся после некоторых тестов. |
Обновил описание, спасибо Skiff_off и Flasher.
Инфу по поводу создания скриптов убрал из шапки форума в Readme (на англ.), кроме того, там содержится один ньюанс для скриптов, которые работают с exe парсерами напрямую (и только для них!) - нужно выводить результаты переменных content, content1 итп. в StdOut (в консоль).
(все это есть в примерах скриптов в папке Scripts, т.е. в принципе ридми можно и не читать - а сразу брать тестовый скрипт нужного разрешения и на его основе делать то, что Вам необходимо). |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10323 Location: Россия, Саратов
|
(Separately) Posted: Thu May 19, 2016 08:11 Post subject: |
|
|
Gentoo69
Шапка темы приведена в несколько более компактный вид. Дубль в "Автоматизации" удалён как нарушающий правила форума. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Rodny
Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Thu May 19, 2016 17:06 Post subject: |
|
|
Gentoo69
Не нужно файл в дистрибутиве называть options.ini, пускай он будет что-нибудь вроде options.ini.sample. А то при обновлении он затирает имеющийся файл. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu May 19, 2016 18:02 Post subject: |
|
|
Gentoo69
Отдельное спасибо за extensions и возврат значений из процедур! Теперь от лишнего кода можно избавиться.
1. Просьба ввести ключ 2 (только папки) для FoldersPaths.
2. У SCP была возможность обновлять возращаемые с обновлённым кодом поля без перезапуска ТС. Есть возможность осуществить?
3. Можно ли рассчитывать в будущем на ключ для пути к интерпретатору (без костылей с StdOut)?
4. В ReadMe перевод на русский хотелось бы. Строки снизу там лишние. И Alt+Backspace в AkelPad нажать не помешает. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1244
|
(Separately) Posted: Thu May 19, 2016 18:13 Post subject: |
|
|
Flasher
2. cm_UnloadPlugins, а потом cm_LoadAllOnDemandFields? Блин, а я перезапускал |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu May 19, 2016 18:30 Post subject: |
|
|
Skif_off
Это-то понятно. Но я панель по Esc обновляю. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1244
|
(Separately) Posted: Thu May 19, 2016 19:02 Post subject: |
|
|
Flasher
cm_RereadSource? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu May 19, 2016 19:06 Post subject: |
|
|
Skif_off
Почти. 540,524. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Gentoo69
Joined: 11 Jul 2010 Posts: 68
|
(Separately) Posted: Thu May 19, 2016 19:13 Post subject: |
|
|
Flasher
Quote: | 1. Просьба ввести ключ 2 (только папки) для FoldersPaths. |
Ok.
Quote: | 2. У SCP была возможность обновлять возращаемые с обновлённым кодом поля без перезапуска ТС. Есть возможность осуществить? |
2.1 Закрыть > открыть TC это ж занимаем секунды.
2.2 По идее в options.ini придется не часто ходить (только во время добавления нового скрипта), один раз забрасываем все скрипты, прописываем их все в ActiveScripts (это не влияет на производительность, скрипты запускаются только если колонка видимая), далее включаем или отключаем их через TC - например можно создать группы нужных скриптов (т.е. колонок) и переключаться между ними в ТС (правая кнопка мыши по колонке).
3. Quote: | Можно ли рассчитывать в будущем на ключ для пути к интерпретатору?
|
Сейчас уже можно указать путь к любому интерпретатору в секции, к примеру копипаста из options.ini:
[ExeScriptParsers]
php=c:\php\php.exe
phpVarFormat=$filename='%s';
phpDoubleSlashPath=0
Quote: | Можно ли рассчитывать в будущем на ключ для пути к интерпретатору, без костылей с StdOut [из скрипта]? |
А как тогда получать результаты от скрипта в таких парсерах?
К примеру для php скрипта в конце кода нужно написать:
echo $content;
или
echo $content;
echo $content1;
...
Разве что плагин сам добавит эти строчки в скрипт.
Хм, а это идея, надо подумать.
Я правильно вас понял - т.е. суть в унификации - чтобы и vb\js\python (у них не нужно в скриптах выводить результаты на консоль, переменная читается напрямую через COM) и php имели один стандарт написания, чтобы не путаться?
Quote: | 4. В ReadMe перевод на русский хотелось бы. |
Я за плагин смогу взяться только через пару недель, там еще PowerShell на очереди, так что если можете помочь с переводом ReadMe - это было бы прекрасно.
Quote: | Строки снизу там лишние. |
Это не баг, а фича - чтобы текст в конце файла можно было проскролить на середину экрана, а не направлять глаза и голову вниз монитора (на больших мониторах)
Last edited by Gentoo69 on Thu May 19, 2016 19:22; edited 2 times in total |
|
Back to top |
|
|
Staniclaw
Joined: 12 Dec 2010 Posts: 533 Location: Ташкент
|
(Separately) Posted: Thu May 19, 2016 19:18 Post subject: |
|
|
Gentoo69 wrote: | 2.1 Закрыть > открыть TC это ж занимаем секунды. | А если открыта вкладка с результатами поиска? _________________ Вечному двигателю -- вечные тормоза!.. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu May 19, 2016 19:32 Post subject: |
|
|
Gentoo69
2.1 Для тестов это крайне неприятная необходимость, когда проверка может возникать в минуту по неск. раз.
3. Та-ак. Я не обновился просто. В описании нигде не увидел. Теперь вижу. Тогда пойду смотреть. По идее и унификации всё верно.
4. Помочь не проблема, если кто-то не опередит. Там немного. Первый раз встречаюсь с фичей, но хозяин-барин. Но концевые пробелы вряд ли фича. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1244
|
(Separately) Posted: Thu May 19, 2016 19:53 Post subject: |
|
|
Gentoo69
Писал про #include <WinAPIFiles.au3>, прошу прощения, я был неправ: не заметил, что вы там используете константу $FO_READ
Code: | Local $hFileOpen = FileOpen($filename, $FO_READ) |
(Обычно пишут числа и до 3.3.10.0 в документации в описании и примерах тоже писали сразу числа, хотя в 3.3.8.1 эти константы уже были.)
Проще записать в виде
Code: | Local $hFileOpen = FileOpen($filename, 0) |
чтобы не тянуть include всего лишь из-за одной строки "Global Const $FO_READ = 0". В принципе, знакомый с AutoIt поймёт в чем дело, но я вас подвёл ненароком - из коробки пример стал нерабочим, ещё раз прошу прощения. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu May 19, 2016 20:01 Post subject: |
|
|
Gentoo69
3. Что-то у меня не получилось.
Code: | [ExeScriptParsers]
vbs=%COMMANDER_PATH%\Scripts\Parsers\wscript.exe
vbsVarFormat=filename="%s" | >>No data from script.
И да, было бы здорово указывать его отдельно для секций ActiveScripts, а не всех скриптов заданного расширения подряд. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|