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

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: Моторокер, Avada, CaptainFlint, Nik, d-view

Ответить
q_w_p
Сообщения: 8
Зарегистрирован: Чт дек 23, 2004 17:20

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

Сообщение q_w_p »

При синхронизации папок часто возникает ситуация, когда нужно в одном месте удалить файлы, но при этом ТС не удаляет каталоги, в которых находились эти файлы.

Вопрос следующий: возможен ли поиск только пустых каталогов в TC встроенными функциями (alt+F7) или через дополнительные модули?
На предмет их дальнейшего анализа.
Ergo
Site Admin
Сообщения: 466
Зарегистрирован: Вт дек 14, 2004 20:57
Контактная информация:

Сообщение Ergo »

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

Сообщение q_w_p »

Понятно. Остается ждать.
q_w_p
Сообщения: 8
Зарегистрирован: Чт дек 23, 2004 17:20

Сообщение q_w_p »

Ну и где его взять это плугин dirsize ?
Leshiy
Сообщения: 136
Зарегистрирован: Чт янв 06, 2005 02:36

Сообщение Leshiy »

q_w_p
Сообщения: 8
Зарегистрирован: Чт дек 23, 2004 17:20

Сообщение q_w_p »

Так он еще и файлы мне ишет - нах это надо ?
Leshiy
Сообщения: 136
Зарегистрирован: Чт янв 06, 2005 02:36

Сообщение Leshiy »

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

Добавлено:
ещё для поиска пустых каталогов можно использовать плагин FileX - ftp://ftp1.mgpsoft.com/FileX14.zip
и искать по его полю EmptyDir
Аватара пользователя
CaptainFlint
Сообщения: 6243
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

А про вторую вкладку забыли? Где можно выставить атрибут "Каталог" :)
Leshiy
Сообщения: 136
Зарегистрирован: Чт янв 06, 2005 02:36

Сообщение Leshiy »

CaptainFlint
А про вторую вкладку забыли? Где можно выставить атрибут "Каталог"
никто не забыт, ничто не забыто! :)
без контентного плагина этой галкой необходимого результата же не получить.
Ergo
Site Admin
Сообщения: 466
Зарегистрирован: Вт дек 14, 2004 20:57
Контактная информация:

Сообщение Ergo »

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

Сообщение hoopoe »

епппрррр.... а тормозит-то как....
Аватара пользователя
CaptainFlint
Сообщения: 6243
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Leshiy
без контентного плагина этой галкой необходимого результата же не получить.
Так я и не говорил, что без плагина :) Мой пост относился к дискусии, начатой фразой q_w_p:
Так он еще и файлы мне ишет - нах это надо ?
Почему же, ё-моё, ты нигде не пишешь "ё"?
q_w_p
Сообщения: 8
Зарегистрирован: Чт дек 23, 2004 17:20

Сообщение q_w_p »

Ок. Всем спасибо. FileX идеальное решение!
Есть предложение поместить его сюда:
http://wincmd.ru/directory/content.html
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение 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 =======
Ответить