Поиск пустых каталогов
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]