|   | 
 | 
| Название | SubDirList | 
| Имя файла (*.txt) | SubDirList.txt | 
| Описание | Сосавляет список всех директорий, дочерних к заданной | 
| Автор | Вахмурка | 
| Параметры | "%P%N" "v" или "f" или "b" (см. комментарии) | 
| Вызываемые плагины | file, vec, osd | 
| Иконка |  | 
| Версия | 1.2 | 
| Дата обновления | 30.08.2006 | 
args Path
local List = file.listfiles(Path, 2)
local Counter = line(List, 0)
local Temp, j, One, Pos = 0
if(not Counter)
	quit(0)
v = vec.create(1, 1)
if(v <= 0) do
	messagebox("ok error", "Vector not created", "VEC plugin error")
	quit(0)
endif
for(j = 1; j <= Counter; j++)
	One = line(List, j)
	if(file.isfolder(One)) do
		v[Pos] = One
		Pos++
	endif
endfor
if(not Pos)
	quit(0)
Pos = 0
for(1)
	Temp = Pos ++ " / " ++ vec.length(v)
	osd.show(Temp, "INFINITE", "30", "Arial", "-1", "255 000 000")
	List = file.listfiles(v[Pos], 2)
	Counter = line(List, 0)
	if(not Counter) do
		Pos++
		if(Pos >= vec.length(v))
			break
	else
		for(j = 1; j <= Counter; j++)
			One = line(List, j)
			if(file.isfolder(One))
				v[vec.length(v)] = One
		endfor
		Pos++
		if(Pos >= vec.length(v))
			break
	endif
endfor
osd.hide()
vec.sort(v)
Counter = vec.capacity(v)
if(arg(2) == "v")
	quit(Counter)
local Hand = file.open(Path ++ "\_subdirs.lst", "w")
if(Hand <= 0) do
	messagebox("ok error", "File not opened", "FILE plugin error")
	quit
endif
for(j = 0; j < Counter; j++)
	file.writeline(Hand, v[j])
endfor
if(arg(2) == "f")
	vec.destroy(v)
file.close(Hand)
quit(Counter)
Скрипт составляет список директорий, дочерних к заданной первым параметром. Второй параметр определяет, куда помещается результат:
"v" - только в вектор;
"f" - только в файл;
"b" - и туда и сюда.
Помещать результат в вектор имеет смысл при вызове SubDirList из другого скрипта, например:
VecSize = runfile.SubDirList("d:\Winnt\", "v")
Тогда в вызвавшем скрипте будет доступен глобальный вектор v размера VecSize, содержащий в алфавитном порядке все директории, дочерние к d:\Winnt.
Если скрипт вызван с параметром "f" или "b", то в заданной директории будет создан файл _subdirs.lst, содержащий тот же список.
|   | На главную |   | Все о Total Commander |   | PowerPro |   | PowerPro & Total Commander |