Можно написать скрипт, который просто будет “впечатывать” нужную маску, а не выискивать её, тем более, что она, возможно, уже вытолкнута из списка всего в 20 строк.Flasher писал(а):Понял. Довольно долго.
Шаблон для отбора папок
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Можно использовать один скрипт (требуется Helper от Volniy), а фильтр передавать параметром:Flasher писал(а):на большой список скриптов не напосёшься.
Код: Выделить всё
'================================================================================
' File: Показ по фильтру.vbs
' Description: Показ файлов/каталогов по фильтру (Ctrl+F12)
' Работает при английской раскладке клавиатуры, либо нужны
' манипуляции с назначением клавиш для переключения на
' английский в региональных стандартах (см. комментарии)
' Parameters: Параметр: фильтр показа, в том числе с использованием масок
' (если с пробелами, то в кавычках). Пример: "*.doc;Мои рисунки"
' Requirements: WSH Helper for TC by Volniy
' Installation: Создайте для скрипта, например, кнопку на панели инструментов TC
' Autor: sa
'================================================================================
Option Explicit
If WScript.Arguments.Count < 1 Then
MsgBox "Не задан параметр: фильтр показа!", _
vbOKOnly + vbCritical, _
"Показ по фильтру.vbs"
WScript.Quit
End If
Dim TCS, S
Set TCS = CreateObject("TCScript.Helper")
S = WScript.Arguments(0)
If InStr(1, S, " ", 1) > 0 Then
S = chr(34) & S & chr(34)
S = Replace (S, ";", chr(34) & ";" & chr(34),1,-1,1)
S = Replace (S, "|", chr(34) & "|" & chr(34),1,-1,1)
End If
With TCS
.SendCommand 314 'cm_SrcUserDef
' .SendKeystroke "^+1"
' Раскомментировать предыдущую строку, если переключение на английский язык
'настроить в региональных стандартах на Ctrl+Shift+1. Иначе следующая команда
'SendKeystroke не будет правильно выполняться при русской раскладке клавиатуры
.SendKeystroke S
.SendKeystroke "{Enter}"
' .SendKeystroke "^+2"
' Раскомментировать предыдущую строку, если переключение на русский язык
'настроено на Ctrl+Shift+2 и есть желание переключиться с английского на
'русский перед выходом из скрипта
End With
Set TCS = Nothing
Wscript.QuitКод: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\VBS\Показ по фильтру.vbs
"*.doc;Мои рисунки"
wcmicons.dll,25
Показ по фильтру
0
-1Удалил строку для входа в историю (Alt+Down).
Последний раз редактировалось sa Ср дек 22, 2010 12:52, всего редактировалось 1 раз.
В варианте со скриптом, если создать кнопку с выпадающим меню требуемого размера, то вызов нужного фильтра делается на раз-два. В тоже время, при использовании команды cm_SrcUserDef (Ctrl+F12) требуется 4 действия. И даже для вызова шаблона (который пока невозможно создать для рассматриваемой задачи) потребовалось бы как минимум 3, а то и те же 4 действия. Так что для тех, кому эта задача актуальна, по-моему, овчинка выделки стоит.
Удалил из скрипта строку для входа в список истории (Alt+Down): от неё больше вреда, чем пользы.
При наличии указанной строки (она располагалась перед .SendKeystroke "^+1") скрипт верно срабатывал в случае, если была нажата клавиша NumLock, а в противном случае вместо входа в список истории происходило стирание первого символа фильтра.
При наличии указанной строки (она располагалась перед .SendKeystroke "^+1") скрипт верно срабатывал в случае, если была нажата клавиша NumLock, а в противном случае вместо входа в список истории происходило стирание первого символа фильтра.