Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[wdx] WinScript Advanced Content Plugin (x86\x64) (new)
Goto page Previous  1, 2, 3 ... 11, 12, 13, 14, 15  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Mailk



Joined: 16 Jan 2010
Posts: 251

Post (Separately) Posted: Wed Sep 27, 2017 00:41    Post subject: Reply with quote

Flasher wrote:
yozhik
Проще взять shelldetails.

Не взять ,если в вин 64х использую ТС 32х , так как не все плагины есть в ТС Х64. А shelldetails., не работает в такой связке. Есть аналог ? Или скрипт с перекрывающий возможности shelldetails.
Back to top
View user's profile Send private message
Aquila



Joined: 22 Sep 2016
Posts: 35

Post (Separately) Posted: Wed Sep 27, 2017 07:53    Post subject: Reply with quote

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
View user's profile Send private message
Pr8da21r



Joined: 27 Sep 2017
Posts: 2

Post (Separately) Posted: Wed Sep 27, 2017 13:53    Post subject: Reply with quote

Flasher, ваш скрипт просто супер, пользуюсь им каждый день, но есть одна проблема.
Он не ищет каталоги, только файлы.
Вы не подскажите, как можно это исправить?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10235
Location: Россия, Саратов

Post (Separately) Posted: Wed Sep 27, 2017 14:04    Post subject: Reply with quote

Pr8da21r
Оверквотинг на форуме (включая цитирование скриптов) запрещён. Цитата заменена ссылкой.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Zmy



Joined: 06 Apr 2015
Posts: 78

Post (Separately) Posted: Fri Sep 29, 2017 21:41    Post subject: Reply with quote

Pr8da21r, так этот скрипт работает и с каталогами.

Вам нужно настроить правильно файл конфигурации.
Находите в файле options.ini свою секцию.
Смотрите сначала эту секцию ActiveScripts. Дальше находите в этих ячейках свой скрипт (секцию).
Отправляетесь к ней, и устанавливаете для параметра FoldersPaths значение равное единице.
У меня вот так.

Code:
ActiveScripts=FindO

[FindO]
Script=FindO.vbs
content=FindO
extensions=*
FoldersPaths=1



И в файле-списке не должно быть завершающего слэша.
.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sat Sep 30, 2017 01:19    Post subject: Reply with quote

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
View user's profile Send private message
Pr8da21r



Joined: 27 Sep 2017
Posts: 2

Post (Separately) Posted: Mon Oct 02, 2017 18:43    Post subject: Reply with quote

Zmy, большое спасибо за помощь.
Всё заработало.
Back to top
View user's profile Send private message
Zmy



Joined: 06 Apr 2015
Posts: 78

Post (Separately) Posted: Mon Oct 02, 2017 19:56    Post subject: Reply with quote

Пожалуйста.
Back to top
View user's profile Send private message
NtX



Joined: 25 Jun 2008
Posts: 13

Post (Separately) Posted: Sat May 11, 2019 15:07    Post subject: Reply with quote

Появилась задача вывести в колонку данные из имени файла, которые расположены между квадратными скобками. Т.е. если имя файла "xxx [1234].xxx", то нужно вывести 1234. Как сделать это через AutoIt я себе представляю. Но написано, что через exe парсер будет всё рабоать значительно медленнее. Насколько медленнее в рамках моей задачи? Стоит заморачиваться и делать через COM? Задача-то вроде несложная - взять имя фала/папки, перебрать до символа [, взять всё что за ним до символа ], ну и всё по сути) Просто я с VBS и не работал никогда - может кто поможет, если смысл есть делать именно через него?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat May 11, 2019 15:31    Post subject: Reply with quote

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
View user's profile Send private message
NtX



Joined: 25 Jun 2008
Posts: 13

Post (Separately) Posted: Sat May 11, 2019 15:40    Post subject: Reply with quote

Ух ты, работает!
Спасибо большое!)

Пара моментов.
1) В TC кириллица "Число в квадратных скобках" выводится крякозяблями там, где колонки выбираешь. Заменил просто на латинницу.
2) Если добавить настройку FoldersPaths=1, то при настройке (выборе содержимого) новой колонки TC зависает. Выкрутился так: сначала настраиваем колонку без этой опции, потом добавляем опцию, перезагружаем TC - папки тоже начинают обрабатываться.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat May 11, 2019 16:43    Post subject: Reply with quote

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
View user's profile Send private message
NtX



Joined: 25 Jun 2008
Posts: 13

Post (Separately) Posted: Sat May 11, 2019 19:24    Post subject: Reply with quote

Плагин просто сам поставился и всё. Кодировка у options.ini UTF-8, конец строки CLRF.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat May 11, 2019 19:26    Post subject: Reply with quote

Плагин-то поставился, только правку надо делать в исходной кодировке (ANSI), а не UTF-8.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
NtX



Joined: 25 Jun 2008
Posts: 13

Post (Separately) Posted: Sat May 11, 2019 19:51    Post subject: Reply with quote

Ваша правда. Правка в ANSI адекватна. Вопрос закрыт.

js парсит, но только имена файлов. Имена папок обрабатываться не хотят.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 11, 12, 13, 14, 15  Next
Page 12 of 15

 
Jump to:  
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