| 
 | 
| Название | Nextension | 
| Имя файла (*.txt) | Nextension.txt | 
| Описание | Перемещает курсор к первому файлу со следующим (по алфавиту) расширением. Может выделить все такие файлы | 
| Автор | Вахмурка | 
| Параметры | ("%P", "%E", выделение) | 
| Вызываемые плагины | win, miscplugin, vec, file | 
| Иконка | 
 | 
    
| Версия | 2.1 | 
| Дата обновления | 15.03.2010 | 
args Path, Ext, Sel
static hwnd = win.handle("c=TTOTAL_CMD")
static Exepath = win.exepath(hwnd)
static Quote = esc(?+\"+, ?+\+)
if(not Ext) do
	win.sendmessage(hwnd, 0x400+51, 2050, 0)
	Ext = "!!!"
endif
static Counter, PrevPath
local Str, Type, i
if(Counter && PrevPath == Path)
	jump SecondCall
if(vec.exists(v)) do
	vec.destroy(v)
	Counter = ""
endif
PrevPath = Path
local Report = miscplugin.tempfilename()
Str = "/c dir " ++ Path ++ " /a:-d /o:e /b > " ++ Report
local ExitCode = file.runwait(0, "cmd", Str, "", "hide")
if(ExitCode) do
	messagebox("ok error", "File list not created", "CMD error")
	quit
endif
Str = file.readall(Report)
v = vec.createfromlines(Str, 1, 1)
if(v <= 0) do
	messagebox("ok error", "Vector not created", "VEC plugin error #1")
	quit
endif
for each Str in v
	if(not Str)
		continue
	Type = file.type(Str)
	if(Counter) do
		flag set 1
		for(i = 0; i < Counter; i++)
			if(Type == file.type(v[i])) do
				flag clear 1
				break
			endif
		endfor
		if(pproflag(1)) do
			vec.insert(v, Counter, Str)
			Counter++
		else
			if(stricoll(v[i], Str) == 1)
				v[i] = Str
		endif
	else
		v[0] = Str
		Counter++
	endif
endfor
@SecondCall
for(i = 0; i < Counter - 1; i++)
	if(Ext != file.type(v[i]))
		continue
	Str = v[i + 1]
	do(Exepath,"/O /S /L=" ++ Quote ++ Path ++ Str ++ Quote)
	if(Sel) do
		win.sendmessage(hwnd, 0x400+51, 524, 0)
		win.sendmessage(hwnd, 0x400+51, 527, 0)
	endif
	break
endfor
При изучении нового набора файлов (скажем, на CD с софтом) бывает удобно смотреть не на имена файлов, а на их расширения. Однако, если файлов в директории много, поиск первого файла со следующим по алфавиту расширением может быть делом нелегким.
Перед запуском скрипта удобно рассортировать файлы по расширению. Если третий параметр отсутствует, равен "" или "0", курсор будет просто перемещен к первому файлу со следующим расширением. Любое другое (например, "1") значение, кроме того, выделяет все такие файлы. Тогда можно легко узнать их количество и суммарный вес.
 
 | 
На главную | 
 
 | 
Все о Total Commander | 
 
 | 
PowerPro | 
 
 | 
PowerPro & Total Commander |