|
|
| Название | MultiFind |
| Имя файла (*.txt) | MultiFind.txt |
| Описание | Вызывает окно поиска в директориях, соответствующих вкладкам в текущей панели |
| Автор | Вахмурка |
| Параметры | - |
| Вызываемые плагины | win, tc, childwin, file |
| Иконка |
|
| Версия | 2.0 |
| Дата обновления | 08.06.2009 |
global Config = "путь/wincmd.ini"
global TT = cl.Create("Tabs", 1)
local hwnd = win.handle("c=TTOTAL_CMD")
local Panel = ifelse(tc.active(hwnd) == "left", 1, 2)
win.postmessage(hwnd, 0x400+51, 524, 0)
win.sendmessage(hwnd, 0x400+51, 580, 0)
local i, j, Target, Num
;Sub_ReadTabs - имя скрипта ReadTabs
if(runfile.Subs\Sub_ReadTabs(tc.active(hwnd)) == 1) do
win.sendmessage(hwnd, 0x400+51, 501, 0)
quit
endif
local Str = file.readall(arg(1))
local v = vec.createfromlines(Str)
if(v <= 0) do
messagebox("ok error", "Vector not created", "VEC plugin error #1")
quit
endif
for(i = 0; i < TT.Length; i++)
Target = TT.GetId(i)
Str = TT.GetMiddleCmd(i)
if(validpath(Target) && Str == Panel)
Num = Num ++ Target ++ ";"
endfor
Num = remove(Num, -1)
win.postmessage(hwnd, 0x400+51, 501, 0)
wait.for(activewindow("c=TFindFile"))
Panel = win.handle("c=TFindFile")
Target = childwin.handle(Panel, 22)
win.settext(Target, Num)
Внимание! Скрипт не работает в Total Commander 7.5 pb1 и pb2!
Как быть, если один и тот же поиск необходимо провести во множестве совершенно разных директорий? Выхода два. Во-первых, можно искать в каждой директории отдельно. Если их десяток, это может занять слишком большое время. Во-вторых, можно запустить поиск по всем логическим дискам. Такая операция займет времени не меньше, кроме того, в результат поиска может попасть то, что нас заведомо не интересует.
Перед запуском скрипта необходимо сосредоточить на одной из панелей все вкладки, в которых следует проводить поиск. Скрипт лишь вводит в строку "Search in" имена всех директорий. Маски файлов и/или текст приходится, понятное дело, вводить самостоятельно.
|
На главную |
|
Все о Total Commander |
|
PowerPro |
|
PowerPro & Total Commander |