Привет
У меня есть аддон встраиваемый в контекстное меню проводника для удаления пустых папок. Но, этот аддон действует только при наведении на какую то определенную папку для сканирования. Вопрос - как мне сделать это программно, одним внешним файлом?
[решено] Как программно удалить пустые папки ?
-
R.M.L
Re: [решено] Как программно удалить пустые папки ?
Код:
P.S. папки "только для чтения" при удалении игнорируются, наличие файлов с нулевым размером расценивается как их отсутствие (учитывается только размер)
Код: Выделить всё
#Include
$sDIR = "C:\TEST"
$iCNT = _DirRemoveEmpty($sDIR)
MsgBox(0, "Сообщение", "Удалено "& $iCNT &" пустых каталогов")
Func _DirRemoveEmpty($sRoot)
Local $iDIR = 0, $aDIR = _FileListToArray($sRoot,'*', 2)
If IsArray($aDIR) Then
For $i=1 To $aDIR[0]
$iDIR += _DirRemoveEmpty($sRoot &"\"& $aDIR[$i])
Next
EndIf
If DirGetSize($sRoot)=0 Then $iDIR += DirRemove($sRoot)
Return $iDIR
EndFuncP.S. папки "только для чтения" при удалении игнорируются, наличие файлов с нулевым размером расценивается как их отсутствие (учитывается только размер)
-
R.M.L
Re: [решено] Как программно удалить пустые папки ?
amel27, спасибо то что надо.
и еще , можно сделать так чтобы при длительном сканировании всего диска весь этот процесс обрабатывался на прогресс баре?
не могу поставить полезное сообщение, видимо после твоего выступления админ на время удалил эту возможность для меня)
+5
Сканировал все диски, прошло времени около 6 минут и удалено 768 пустых папок. здорово
и еще , можно сделать так чтобы при длительном сканировании всего диска весь этот процесс обрабатывался на прогресс баре?
не могу поставить полезное сообщение, видимо после твоего выступления админ на время удалил эту возможность для меня)
+5
Сканировал все диски, прошло времени около 6 минут и удалено 768 пустых папок. здорово
-
amel27
Re: [решено] Как программно удалить пустые папки ?
Цитата R.M.L:
можно сделать так чтобы при длительном сканировании всего диска весь этот процесс обрабатывался на прогресс баре?
Код:
можно сделать так чтобы при длительном сканировании всего диска весь этот процесс обрабатывался на прогресс баре?
[решено] Как программно удалить пустые папки ?
Код:
Код: Выделить всё
#Include
$sRoot = "C:\TEST"
ProgressOn ("Поиск пустых папок", "Подготовка к поиску...")
Global $iCNT = 0, $iDEL = 0, $aRoot = DirGetSize($sRoot, 1)
$aRoot[2]+=1
_DirRemoveEmpty($sRoot)
ProgressOff()
MsgBox(64, "Поиск пустых папок", "Поиск завершен"&@CRLF&@CRLF&"Папок ВСЕГО: "&@TAB&$iCNT&@CRLF&"Папок удалено: "&@TAB&$iDEL)
Func _DirRemoveEmpty($sDIR)
Local $iPRC, $aDIR = _FileListToArray($sDIR,'*', 2)
If IsArray($aDIR) Then
For $i=1 To $aDIR[0]
$iDEL += _DirRemoveEmpty($sDIR &"\"& $aDIR[$i])
Next
EndIf
$iCNT +=1
$iPRC = Int($iCNT*100/$aRoot[2])
ProgressSet($iPRC, "Обработано папок: "&$iCNT&@TAB&@TAB&" Удалено: "&$iDEL, $sDIR)
If DirGetSize($sDIR)=0 Then $iDEL += DirRemove($sDIR)
EndFunc-
R.M.L
Re: [решено] Как программно удалить пустые папки ?
чртт эт здорово ) показывает и обработанные папки. Спасибо!! ураааааааа
-
R.M.L
Re: [решено] Как программно удалить пустые папки ?
помогите удалить пустой каталог
Возник после удаления игрушечного мусора
ничего не помогает - Unloocer, plagin TotCom - короче нет
может кто знает как удалить пустой каталог - даже без имени "..." - во такое
XP Win SP3 Pro
Возник после удаления игрушечного мусора
ничего не помогает - Unloocer, plagin TotCom - короче нет
может кто знает как удалить пустой каталог - даже без имени "..." - во такое
XP Win SP3 Pro
-
FlatX007
Re: [решено] Как программно удалить пустые папки ?
Цитата amel27:
amel27
у меня ошибку выдаёт
C:\Users\????\Desktop\AutoIt v3 Script.au3 (8) : ==> Subscript used with non-Array variable.: $aRoot[2]+=1 $aRoot^ ERROR
amel27
[решено] Как программно удалить пустые папки ?
у меня ошибку выдаёт
C:\Users\????\Desktop\AutoIt v3 Script.au3 (8) : ==> Subscript used with non-Array variable.: $aRoot[2]+=1 $aRoot^ ERROR
-
vla-ad
Re: [решено] Как программно удалить пустые папки ?
НАШЕЛ здесь на сайте очень удобное предложение
вызов cmd затем
rd /s /q d:\... (указать путь каталога)
помогло даже там, где ничего не помогало совсем.
вызов cmd затем
rd /s /q d:\... (указать путь каталога)
помогло даже там, где ничего не помогало совсем.
-
vla-ad
Re: [решено] Как программно удалить пустые папки ?
Есть такая простая функция _WinAPI_PathIsDirectoryEmpty() из
WinAPIEx.au3
.