Страница 1 из 1

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

Добавлено: Чт дек 23, 2004 17:29
q_w_p
При синхронизации папок часто возникает ситуация, когда нужно в одном месте удалить файлы, но при этом ТС не удаляет каталоги, в которых находились эти файлы.

Вопрос следующий: возможен ли поиск только пустых каталогов в TC встроенными функциями (alt+F7) или через дополнительные модули?
На предмет их дальнейшего анализа.

Добавлено: Чт дек 23, 2004 18:19
Ergo
q_w_p
Вопрос следующий: возможен ли поиск только пустых каталогов в TC встроенными функциями (alt+F7) или через дополнительные модули?
Можно будет в Total Commander 6.5:
Изображение

Добавлено: Чт дек 23, 2004 19:56
q_w_p
Понятно. Остается ждать.

Добавлено: Чт янв 20, 2005 18:14
q_w_p
Ну и где его взять это плугин dirsize ?

Добавлено: Чт янв 20, 2005 19:52
Leshiy

Добавлено: Пт янв 21, 2005 12:47
q_w_p
Так он еще и файлы мне ишет - нах это надо ?

Добавлено: Пт янв 21, 2005 13:09
Leshiy
q_w_p
Так он еще и файлы мне ишет - нах это надо ?
ну не обязательно же делать как на скриншоте у Ergo (используя поле SizeBackground... тогда влезут файлы нулевого размера), подключи мозг... используй поле FileCount(Background).

Добавлено:
ещё для поиска пустых каталогов можно использовать плагин FileX - ftp://ftp1.mgpsoft.com/FileX14.zip
и искать по его полю EmptyDir

Добавлено: Пт янв 21, 2005 15:07
CaptainFlint
А про вторую вкладку забыли? Где можно выставить атрибут "Каталог" :)

Добавлено: Пт янв 21, 2005 15:26
Leshiy
CaptainFlint
А про вторую вкладку забыли? Где можно выставить атрибут "Каталог"
никто не забыт, ничто не забыто! :)
без контентного плагина этой галкой необходимого результата же не получить.

Добавлено: Пт янв 21, 2005 15:33
Ergo
ну не обязательно же делать как на скриншоте у Ergo (используя поле SizeBackground... тогда влезут файлы нулевого размера), подключи мозг... используй поле FileCount(Background).
Когда делался скриншот FileCount еще не было :)
Прикольно, после выхода Total Commander 6.5 есть уже три способа находить пустые директории :)

Добавлено: Пт янв 21, 2005 16:04
hoopoe
епппрррр.... а тормозит-то как....

Добавлено: Пт янв 21, 2005 16:15
CaptainFlint
Leshiy
без контентного плагина этой галкой необходимого результата же не получить.
Так я и не говорил, что без плагина :) Мой пост относился к дискусии, начатой фразой q_w_p:
Так он еще и файлы мне ишет - нах это надо ?

Добавлено: Сб янв 22, 2005 14:01
q_w_p
Ок. Всем спасибо. FileX идеальное решение!
Есть предложение поместить его сюда:
http://wincmd.ru/directory/content.html

Добавлено: Сб янв 22, 2005 20:55
Volniy
Альтернатива со старого форума (цитирую себя, любимого :) ).

Код: Выделить всё

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

'======= DelEmtySubDirs.vbs =======

' ©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
'======= DelEmtySubDirs.vbs =======