Orion9
|
Posted: Sat Mar 23, 2024 20:42 Post subject: |
|
|
Loopback wrote: | Добавить-то наверно можно, но не слишком ли много опций для одного режима вывода? Опять же, есть поля, а есть еще единицы... |
Да норм будет. Юниты, конечно, не нужны, а вот поля некоторые неплохо было бы исключить при выводе. По сути, на выходе получится компакный блок, который можно будет объединять с другими компактными блоками и пускать сразу в хинт. Например, взять все непустое и нужное из Ntlinks, Ntfsfilestreams, Filex и т.п. и сразу выводить альтернативную подсказку к файлу. Да и обрабатывать компакный блок будет легче в других скриптах и батниках.
А теперь некое удобство от благодарного пользователя!
Скрипт на Autorun, который создает три bar-файла для быстрого тестирования всех имеющихся плугов в утилите uwdx. Поменяйте пути при необходимости. Также нужна утилита TCFS2, которая посылает сообщение окну ТС и запускает сам скрипт. Cкрипт перебирает секцию контентных плагинов и формирует соответствующие файлы панелей, которые впоследствии можно перетащить на главную панель инструментов и использовать в качестве выпадающих меню. Также можно настроить показ самих меню через ControlSetMouseAction и пользовательские команды в usercmd.ini (по-умолчанию Ctrl+ПКМ и Shift+Ctrl+ПКМ). Скрипт удаляет файлы uwdx*.bar в папке %COMMANDER_PATH%\Bars\, так что будьте осторожны и проверьте все еще раз.
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe
/ef "msg(regmsg(UwdxMessage), 0, 0)"
%COMMANDER_PATH%\Plugins\uwdx\uwdx.exe
Создать панели uwdx
-1 |
autorun.cfg
Code: | ControlSetMouseAction /R /K:C 3 ShowUwdxe
ControlSetMouseAction /R /K:C /K:S 3 ShowUwdxa
SetMessageAction "UwdxMessage" CreateUwdxBars
Func ShowUwdxe
CommandExec em_uwdxe
EndFunc
Func ShowUwdxa
CommandExec em_uwdxa
EndFunc
Func CreateUwdxBars
Local f = 0
f = f + CreateUwdxBar("uwdxa")
f = f + CreateUwdxBar("uwdxe")
f = f + CreateUwdxBar("uwdxp")
MsgBox(f & " из 3 файлов было создано", "uwdx")
EndFunc
Func CreateUwdxBar(barname)
Local i, barfile, br2file
#Local uwdx = %COMMANDER_PATH% & "\Plugins\uwdx\uwdx.exe"
barfile = %COMMANDER_PATH% & "\Bars\" & barname & ".bar"
br2file = %COMMANDER_PATH% & "\Bars\" & barname & ".br2"
ShellExec /SW_HIDE /WAIT:2000 %COMSPEC% "/c del /f /q ""%barfile%"""
ShellExec /SW_HIDE /WAIT:2000 %COMSPEC% "/c del /f /q ""%br2file%"""
If FileExist(barfile) Then
MsgBox("Ошибка удаления " & barfile, "uwdx")
Return 0
Endif
IniWrite %barfile% "Buttonbar" "Buttoncount" "0"
If ERROR = 1 Then
MsgBox("Ошибка создания " & barfile, "uwdx")
Return 0
EndIf
Set /EV- cmd "%COMSPEC% /k"
Set /EV- uwdx "%COMMANDER_PATH%\Plugins\uwdx\uwdx.exe"
Set /EV- uwdxp "%%COMMANDER_PATH%%\Plugins\uwdx\uwdx.exe"
Set /EV- testfile "%P%N"
i=0
While i<55
IniRead /R wdx %COMMANDER_INI% "ContentPlugins" %"%i%" "stop"
If wdx="stop" Then Break
wdx = StrTrim(StrRight(wdx, StrLen(wdx)-StrPos(wdx, "\", -1)))
IniWrite %barfile% "Buttonbar" %"'Button' & %i%+1" "%uwdx%"
IniWrite %barfile% "Buttonbar" %"'Cmd' & %i%+1" %cmd%
IniWrite %barfile% "Buttonbar" %"'Menu' & %i%+1" "%wdx%"
If barname="uwdxa" Then
IniWrite %barfile% "Buttonbar" %"'Param' & %i%+1" '"""%uwdxp%""" /I %wdx% ""%testfile%""'
ElseIf barname="uwdxe" Then
IniWrite %barfile% "Buttonbar" %"'Param' & %i%+1" '"""%uwdxp%""" /E /I %wdx% ""%testfile%""'
Else
IniWrite %barfile% "Buttonbar" %"'Param' & %i%+1" '"""%uwdxp%""" /I "%wdx%"'
Endif
i = i + 1
Wend
IniWrite %barfile% "Buttonbar" "Buttoncount" %i%
Return 1
EndFunc
|
usercmd.ini
Code: | [em_uwdxe]
button=
cmd=OPENBARMENU %COMMANDER_PATH%\Bars\uwdxe.bar
iconic=1
[em_uwdxa]
button=
cmd=OPENBARMENU %COMMANDER_PATH%\Bars\uwdxa.bar
iconic=1
|
P.S. Писать скрипты на Autorun - одно удовольствие |
|