Подсветка каталогов не содержащих определённые файлы
Материал из TCKB 2.0
Q: Задача состоит в следующем: нужно каким-либо образом подсвечивать на панели каталоги, в которых среди всех файлов нет ни одного с расширением .sfv (или любым другим произвольным расширением). Как "подсвечивать" папки - я знаю. Проблема в том, что не пойму как "отловить" такие папки.
A: Используем Script Content Plugin. Т.к. плагин может возвращать только одно поле, если ранее этот плагин использовался, копируем папку с плагином и переименовываем в новой папке wdx. Подключаем новый wdx.
Редактируем script.ini:
[Script] Section=File presence in folder [File presence in folder] Script=FilePresence.vbs LongName=1 ParseDirs=1
В каталоге плагина должен лежать FilePresence.vbs:
Dim FSO, Ext
'==============================
Ext = "zip"
'==============================
Set FSO = CreateObject("Scripting.FileSystemObject")
content = 0
If FSO.FolderExists(FileName) Then
Dim Fold, F
Set Fold = FSO.GetFolder(Filename)
For Each F In Fold.Files
If LCase(FSO.GetExtensionName(F)) = LCase(Ext) Then
content = 1
Exit For
End If
Next
End If
Здесь надо переменной Ext задать нужное значение. Соответственно, плагин для папки будет возвращать 0, если в ней нет файлов с расширением, заданным переменной Ext. Если в папке такие файлы есть, возвращается 1. Для файлов всегда возвращается 0.
