|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как программно удалить пустые папки ? |
|
[решено] Как программно удалить пустые папки ?
|
Пользователь Сообщения: 132 |
Профиль | Отправить PM | Цитировать Привет
У меня есть аддон встраиваемый в контекстное меню проводника для удаления пустых папок. Но, этот аддон действует только при наведении на какую то определенную папку для сканирования. Вопрос - как мне сделать это программно, одним внешним файлом? |
|
------- Отправлено: 11:00, 02-10-2009 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать #Include <File.au3> $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 EndFunc |
Отправлено: 12:02, 02-10-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 132
|
Профиль | Отправить PM | Цитировать amel27, спасибо то что надо.
и еще , можно сделать так чтобы при длительном сканировании всего диска весь этот процесс обрабатывался на прогресс баре? не могу поставить полезное сообщение, видимо после твоего выступления админ на время удалил эту возможность для меня) +5 Сканировал все диски, прошло времени около 6 минут и удалено 768 пустых папок. здорово |
------- Отправлено: 12:34, 02-10-2009 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата R.M.L:
#Include <File.au3> $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 |
|
Отправлено: 07:04, 03-10-2009 | #4 |
Пользователь Сообщения: 132
|
Профиль | Отправить PM | Цитировать чртт эт здорово ) показывает и обработанные папки. Спасибо!! ураааааааа
|
|
------- Отправлено: 18:17, 03-10-2009 | #5 |
Старожил Сообщения: 241
|
Профиль | Отправить PM | Цитировать помогите удалить пустой каталог
Возник после удаления игрушечного мусора ничего не помогает - Unloocer, plagin TotCom - короче нет может кто знает как удалить пустой каталог - даже без имени "..." - во такое XP Win SP3 Pro |
Отправлено: 00:02, 15-05-2010 | #6 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Цитата amel27:
C:\Users\????\Desktop\AutoIt v3 Script.au3 (8) : ==> Subscript used with non-Array variable.: $aRoot[2]+=1 $aRoot^ ERROR |
|
Отправлено: 19:08, 15-05-2010 | #7 |
Старожил Сообщения: 241
|
Профиль | Отправить PM | Цитировать НАШЕЛ здесь на сайте очень удобное предложение
вызов cmd затем rd /s /q d:\... (указать путь каталога) помогло даже там, где ничего не помогало совсем. |
Отправлено: 20:37, 15-05-2010 | #8 |
Старожил Сообщения: 206
|
Профиль | Отправить PM | Цитировать Есть такая простая функция _WinAPI_PathIsDirectoryEmpty() из WinAPIEx.au3.
|
Отправлено: 11:07, 17-05-2010 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удалить папки по маске | run0ut | Скриптовые языки администрирования Windows | 9 | 21-03-2017 01:27 | |
Разное - Как удалить профильные папки из Личной Папки без последствий? | Котяр | Microsoft Windows 7 | 0 | 28-11-2009 20:36 | |
Интерфейс - [решено] Нужно отобразить все пустые папки в директории | Третий | Microsoft Windows 7 | 1 | 24-08-2009 22:17 | |
[решено] Как удалить файлы с папки...? | Cobra_1_Stas | Автоматическая установка Windows 2000/XP/2003 | 40 | 10-10-2006 10:11 | |
Странные папки... как удалить | Matrox | Microsoft Windows 2000/XP | 3 | 26-10-2005 12:57 |
|