DirColor

Название DirColor
Имя файла (*.txt) DirColor.txt
Описание Позволяет задать цвет директории в зависимости от ее содержимого
Автор Вахмурка
Параметры
Вызываемые плагины win, ini, file
Иконка
Версия 1.0
Дата обновления 29.08.2007
args Path

local hwnd = win.handle("c=TTOTAL_CMD")
local IniFile = pprofolder ++ "scripts\ini\DirColor.ini"
local Masks = ini.enum_keys(IniFile, "Colors")
local MCounter = line(Masks, 0)
local Dirs = file.listfiles(Path, 4)
local DCounter = line(Dirs, 0)
local i, j, OneDir, OneMask, OneKey
local Desc = file.open(Path ++ "descript.ion", "w")

if(Desc <= 0) do
	messagebox("ok error", "File not opened", "FILE plugin error")
	quit
endif

for(i = 1; i <= DCounter; i++)
	OneDir = line(Dirs, i)
	for(j = 1; j <= MCounter; j++)
		OneMask = line(Masks, j)
		if(file.validpath(OneDir ++ "\" ++ OneMask)) do
			OneKey = ini.get(IniFile, "Colors", OneMask)
			file.writeline(Desc, file.nametype(OneDir) ++ " " ++ OneKey)
		endif
	endfor
endfor

file.close(Desc)
win.sendmessage(hwnd, 0x400+51, 540, 0)

Комментарии:

Скрипт создан по мотивам вопроса на форуме. Если коротко, то он позволяет сопоставить цвет (фильтр) директории с теми файлами, которые в ней находятся. Использование скрипта включает 3 шага:

Шаг первый. Придумать цветовой фильтр, названный (для примера) Green, сиречь "зеленый", и сопоставить ему шаблон поиска. Этот шаблон должен иметь два отличительных признака: на вкладке "Advanced" следует определить, что относится он только к директориям, а не к файлам:

А на вкладке "Plugins" задать, что описание директории должно содержать слово "Green":

После чего шаблон следует сохранить, задав ему соответствующее имя, скажем, GreenDir.

Шаг второй. Создать файл DirColor.ini (или взять мой) c путем scripts\ini\. Например, если PowerPro установлена, как у меня, в d:\Utils\PowerPro, то файл настроек имеет путь d:\Utils\PowerPro\scripts\ini\DirColor.ini.

В этом файле можно задать произвольное число пар

mask=keyword

где mask - маска (например, *.doc), а keyword - название цветовой схемы (в нашем случае Green).

Шаг третий. Задать сам цвет для сохраненного фильтра GreenDir. Напомню, это делается через Configuration\Colors\Define colors by file type.

Теперь при исполнении скрипта поддиректории текущего пути будут просмотрены на предмет наличия в них файлов с масками, указанными в файле DirColor.ini. Если таковая маска будет обнаружена, в файл описаний descript.ion добавится слово Green как описание данной директории, после чего она будет расцвечена согласно вкусам пользователя.


На главную Все о Total Commander PowerPro PowerPro & Total Commander