Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Поиск пустых каталогов

Q: Вопрос следующий: возможен ли поиск только пустых каталогов в TC встроенными функциями (Alt+F7) или через дополнительные модули?
A: Можно в TC 6.5+ с помощью плагина DirSizeCalc. У плагина есть поле "empty", которое и создано специально для этой цели.

Павел Дубровский

A: Или скриптом:

Скрипт удаляет пустые папки внутри текущей директории и во всех вложенных в нее. А если текущая будет корневой - тогда на всем диске. В параметрах кнопки для этого скрипта поставьте "%P":

' ©2004, Volniy

Option Explicit
Dim fso
Dim StartFolder
Dim objArgs

Set objArgs = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")

If objArgs.Count = 1 Then
' Текущая директория, получаем через %P в командной строке
StartFolder = objArgs(0)
Else
MsgBox "Должен быть один параметр!", vbCritical
WScript.Quit
End If

'Можно указать начальную папку и напрямую
'StartFolder = "D:\"

If fso.FolderExists(StartFolder) = False Then
MsgBox "Неверная директория!", vbCritical
WScript.Quit
End If

ScanFolder StartFolder

MsgBox "Пустые папки в '" & StartFolder & "' удалены!", vbInformation

Set fso = Nothing
Set objArgs = Nothing

WScript.Quit

Sub ScanFolder(FolderPath)
Dim curFolder
Dim FItem
Set curFolder = fso.GetFolder(FolderPath)
For Each FItem In curFolder.SubFolders
ScanFolder FItem.Path
Next
' Проверка на условие для удаления
If curFolder.SubFolders.Count = 0 And curFolder.Files.Count = 0 Then
curFolder.Delete
End If
Set curFolder =Nothing
End Sub

Volniy]