|
Название | 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 | Все скрипты |