View previous topic :: View next topic |
Author |
Message |
Mailk
Joined: 16 Jan 2010 Posts: 251
|
(Separately) Posted: Wed Sep 27, 2017 00:41 Post subject: |
|
|
Flasher wrote: | yozhik
Проще взять shelldetails.
|
Не взять ,если в вин 64х использую ТС 32х , так как не все плагины есть в ТС Х64. А shelldetails., не работает в такой связке. Есть аналог ? Или скрипт с перекрывающий возможности shelldetails. |
|
Back to top |
|
|
Aquila
Joined: 22 Sep 2016 Posts: 35
|
(Separately) Posted: Wed Sep 27, 2017 07:53 Post subject: |
|
|
Mailk wrote: | Не взять ,если в вин 64х использую ТС 32х , так как не все плагины есть в ТС Х64. А shelldetails., не работает в такой связке. |
У меня работет, что я делаю не так? _________________ «Two things are infinite: the universe and the human stupidity.
... and a'm not so sure about the universe». Albert Einstein |
|
Back to top |
|
|
Pr8da21r
Joined: 27 Sep 2017 Posts: 2
|
(Separately) Posted: Wed Sep 27, 2017 13:53 Post subject: |
|
|
Flasher, ваш скрипт просто супер, пользуюсь им каждый день, но есть одна проблема.
Он не ищет каталоги, только файлы.
Вы не подскажите, как можно это исправить? |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Wed Sep 27, 2017 14:04 Post subject: |
|
|
Pr8da21r
Оверквотинг на форуме (включая цитирование скриптов) запрещён. Цитата заменена ссылкой. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Zmy
Joined: 06 Apr 2015 Posts: 78
|
(Separately) Posted: Fri Sep 29, 2017 21:41 Post subject: |
|
|
Pr8da21r, так этот скрипт работает и с каталогами.
Вам нужно настроить правильно файл конфигурации.
Находите в файле options.ini свою секцию.
Смотрите сначала эту секцию ActiveScripts. Дальше находите в этих ячейках свой скрипт (секцию).
Отправляетесь к ней, и устанавливаете для параметра FoldersPaths значение равное единице.
У меня вот так.
Code: | ActiveScripts=FindO
[FindO]
Script=FindO.vbs
content=FindO
extensions=*
FoldersPaths=1
|
И в файле-списке не должно быть завершающего слэша.
. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sat Sep 30, 2017 01:19 Post subject: |
|
|
Gentoo69
В продолжение этой темы, что-то не так с работой с AutoIt, вне плагина скрипт работает нормально, с плагином - AutoIt жалуется на $aMediaInfo[0] и завершается.
Сделал с $CmdLine[1], чтобы проще было повесить на кнопку (проверять с любым видео-файлом), MediaInfo.dll нужно положить рядом или поправить путь в начале
Code: | #NoTrayIcon
Local $aMediaInfoGet, $content = '', $hDLL, $iHeight, $iWidth, $sRotation
Local $aMediaInfo
$hDLL = DllOpen(@ScriptDir & '\MediaInfo.dll')
$aMediaInfo = DllCall($hDLL, 'ptr', 'MediaInfo_New')
DllCall($hDLL, 'dword', 'MediaInfo_Open', 'ptr', $aMediaInfo[0], 'wstr', $CmdLine[1])
$aMediaInfoGet = DllCall($hDLL, 'wstr', 'MediaInfo_Get', 'ptr', $aMediaInfo[0], 'int', 1, 'int', 0, 'wstr', 'Rotation', 'int', 1, 'int', 0)
$sRotation = $aMediaInfoGet[0]
If ($sRotation = '0.000') Or ($sRotation = '') Then
$aMediaInfoGet = DllCall($hDLL, 'wstr', 'MediaInfo_Get', 'ptr', $aMediaInfo[0], 'int', 1, 'int', 0, 'wstr', 'Width', 'int', 1, 'int', 0)
$iWidth = $aMediaInfoGet[0]
$aMediaInfoGet = DllCall($hDLL, 'wstr', 'MediaInfo_Get', 'ptr', $aMediaInfo[0], 'int', 1, 'int', 0, 'wstr', 'Height', 'int', 1, 'int', 0)
$iHeight = $aMediaInfoGet[0]
If $iWidth < $iHeight Then $content = 'Achtung!'
Else
$content = 'Achtung!'
EndIf
DllCall($hDLL, 'none', 'MediaInfo_Close', 'ptr', $aMediaInfo[0])
DllClose($hDLL)
MsgBox(4096, '', $content) |
Для плагина сделал так
Code: | #NoTrayIcon
Local $aMediaInfoGet, $content = '', $hDLL, $iHeight, $iWidth, $sRotation
Local $aMediaInfo
$hDLL = DllOpen(@ScriptDir & '\MediaInfo.dll')
$aMediaInfo = DllCall($hDLL, 'ptr', 'MediaInfo_New')
DllCall($hDLL, 'dword', 'MediaInfo_Open', 'ptr', $aMediaInfo[0], 'wstr', $filename)
$aMediaInfoGet = DllCall($hDLL, 'wstr', 'MediaInfo_Get', 'ptr', $aMediaInfo[0], 'int', 1, 'int', 0, 'wstr', 'Rotation', 'int', 1, 'int', 0)
$sRotation = $aMediaInfoGet[0]
If ($sRotation = '0.000') Or ($sRotation = '') Then
$aMediaInfoGet = DllCall($hDLL, 'wstr', 'MediaInfo_Get', 'ptr', $aMediaInfo[0], 'int', 1, 'int', 0, 'wstr', 'Width', 'int', 1, 'int', 0)
$iWidth = $aMediaInfoGet[0]
$aMediaInfoGet = DllCall($hDLL, 'wstr', 'MediaInfo_Get', 'ptr', $aMediaInfo[0], 'int', 1, 'int', 0, 'wstr', 'Height', 'int', 1, 'int', 0)
$iHeight = $aMediaInfoGet[0]
If $iWidth < $iHeight Then $content = 'Achtung!'
Else
$content = 'Achtung!'
EndIf
DllCall($hDLL, 'none', 'MediaInfo_Close', 'ptr', $aMediaInfo[0])
DllClose($hDLL) |
в options.ini
Code: | ...
au3=%COMMANDER_PATH%\Plugins\wdx\WinScriptsAdv_wdx\Scripts\AutoIt3.exe
...
[RotationAutoIt]
Script=MediaInfo.au3
content=Rotation
extensions=3gp|asf|avc|avi|d2v|dat|divx|flv|m4v|mkv|mov|mp4|mpe|mpeg|mpg|ts|vob|webm|wmv
FoldersPaths=0 |
всё остальное по умолчанию.
P.S. Проверяю с AutoIt 3.3.8.1 |
|
Back to top |
|
|
Pr8da21r
Joined: 27 Sep 2017 Posts: 2
|
(Separately) Posted: Mon Oct 02, 2017 18:43 Post subject: |
|
|
Zmy, большое спасибо за помощь.
Всё заработало. |
|
Back to top |
|
|
Zmy
Joined: 06 Apr 2015 Posts: 78
|
(Separately) Posted: Mon Oct 02, 2017 19:56 Post subject: |
|
|
Пожалуйста. |
|
Back to top |
|
|
NtX
Joined: 25 Jun 2008 Posts: 13
|
(Separately) Posted: Sat May 11, 2019 15:07 Post subject: |
|
|
Появилась задача вывести в колонку данные из имени файла, которые расположены между квадратными скобками. Т.е. если имя файла "xxx [1234].xxx", то нужно вывести 1234. Как сделать это через AutoIt я себе представляю. Но написано, что через exe парсер будет всё рабоать значительно медленнее. Насколько медленнее в рамках моей задачи? Стоит заморачиваться и делать через COM? Задача-то вроде несложная - взять имя фала/папки, перебрать до символа [, взять всё что за ним до символа ], ну и всё по сути) Просто я с VBS и не работал никогда - может кто поможет, если смысл есть делать именно через него? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 11, 2019 15:31 Post subject: |
|
|
NtX
Scripts\NumberInSquareBrackets.vbs: Code: | Name = Mid(FileName, InStrRev(FileName, "\") + 1)
With New Regexp
.Pattern = "\[(\d+)\]" : If .Test(Name) Then Content = .Execute(Name)(0).Submatches(0)
End With |
options.ini wrote: | [Script]
ActiveScripts=...|NumberInSquareBrackets
[NumberInSquareBrackets]
Script=NumberInSquareBrackets.vbs
content=Число в квадратных скобках
extensions=* |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
NtX
Joined: 25 Jun 2008 Posts: 13
|
(Separately) Posted: Sat May 11, 2019 15:40 Post subject: |
|
|
Ух ты, работает!
Спасибо большое!)
Пара моментов.
1) В TC кириллица "Число в квадратных скобках" выводится крякозяблями там, где колонки выбираешь. Заменил просто на латинницу.
2) Если добавить настройку FoldersPaths=1, то при настройке (выборе содержимого) новой колонки TC зависает. Выкрутился так: сначала настраиваем колонку без этой опции, потом добавляем опцию, перезагружаем TC - папки тоже начинают обрабатываться. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 11, 2019 16:43 Post subject: |
|
|
1) Никто с таким тут ещё не сталкивался. Кириллица отображается как надо. Вы, случаем, у options.ini кодировку не сменили?
2) Вместо перезапуска пользуйтесь cm_UnloadPlugins.
Кстати, можно смело vbs заменить на js:
Code: | arr=filename.match(/\[(\d+)][^\\]*$/);if(arr!=null)content=arr[1] |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sat May 11, 2019 20:11; edited 1 time in total |
|
Back to top |
|
|
NtX
Joined: 25 Jun 2008 Posts: 13
|
(Separately) Posted: Sat May 11, 2019 19:24 Post subject: |
|
|
Плагин просто сам поставился и всё. Кодировка у options.ini UTF-8, конец строки CLRF. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 11, 2019 19:26 Post subject: |
|
|
Плагин-то поставился, только правку надо делать в исходной кодировке (ANSI), а не UTF-8. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
NtX
Joined: 25 Jun 2008 Posts: 13
|
(Separately) Posted: Sat May 11, 2019 19:51 Post subject: |
|
|
Ваша правда. Правка в ANSI адекватна. Вопрос закрыт.
js парсит, но только имена файлов. Имена папок обрабатываться не хотят. |
|
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
|