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

Материал из TCKB 2.0

Перейти к: навигация, поиск
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]

Личные инструменты
Реклама