Поиск каталогов, содержащих файлы заданного типа
Q: Как можно найти все каталоги (и только каталоги), в которых содержатся файлы определенного типа?
Например, надо получить список каталогов, в которых есть файлы с расширением TXT.
Например, надо получить список каталогов, в которых есть файлы с расширением TXT.
A: Делаешь кнопку на панели инструментов:
Код кнопки |
---|
TOTALCMD#BAR#DATA: cmd.exe /c for /f %%i in ('dir /b /s /ad') do if exist %%i\*.txt echo %%i >> 1.txt D:\dshell\WCMICONS.DLL,27 Поиск каталогов с *.txt -1 |
И после её нажатия получаешь в файле 1.txt получаешь нужный тебе список.
P.S. Только для winnt\xp\2000\2003
Evgenych
A: Можно использовать плагин Script Content.
script.ini:
[Script]
Section=File Types In Dir
[File Types In Dir]
Script=FileTypesInDir.vbs
LongName=1
ParseDirs=1
FileTypesInDir.vbs:
Dim FSO, Fold, FilesInFold, ScanFile, FileExt
Set FSO = CreateObject("Scripting.FileSystemObject")
content = ""
If FSO.FolderExists(filename) Then
Set Fold = FSO.GetFolder(filename)
Set FilesInFold = Fold.Files
On Error Resume Next
For Each ScanFile in FilesInFold
FileExt = FSO.GetExtensionName(ScanFile.Path)
If FileExt = "" Then
FileExt = " "
End If
If Instr(1, content, FileExt, 1) = 0 Then
content = content & "," & FileExt
End If
Next
On Error GoTo 0
If Len(content) > 0 Then
content = Mid(content, 2)
End If
Set Fold = Nothing
Set FilesInFold = Nothing
End If
Set FSO = Nothing
Скрипт сделал так, что он возвращает для папок расширения файлов, перечисленные через запятую. Если файл без расширения, то я в эту строку вставляю пробел.
Т.о., при поиске из TC переходим на закладку "Плагины", ставим "Поиск с плагинами", выбираем:
Плагин = script,
Свойство = Result,
Операция = "содержит",
Значение (например) = txt.
Для ускорения поиска на закладке "Дополнительно" можно установить Атрибут - Каталог.