MultiFind

Title MultiFind
File Name MultiFind.txt
Description Invoke find files window with directories represented by current panel tabs
Author Vochomurka
Parameters -
Plugins Called win, tc, childwin, file
Icon
Version 2.0
Updated on 08.06.2009
global Config = "path/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 - name of script 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)

Comments:

Attention! This script does not work in Total Commander 7.5 pb1 and pb2!

How to perform the same search in many different directories? First way is to search in each directory separately, but if they are numerous, it can take a lot of time.

Second way is to search in all local disks. But it also can take a very long time, moreover, the results would include files being of no interest.

Prior to run the script it is necessary to open tabs pointing each to a directory where the search must be performed. After the script execution all names will be placed in the "Search in" edit box. The one thing that the user has to do is to define file mask and/or text to search for.


All Scripts Total Commander TotalCmd.net PowerPro