Войти

Показать полную графическую версию : [решено] Удаление пустых папок VBasic


forsem
28-08-2009, 13:52
Здравствуйте коллеги :)

У меня возникла необходимость в скрипке , который удалял бы все пустые папки на диске. То есть
Есть вариант что существует каскад папок ,но все они не содержат файлов. только вложенные пустые папки ,
Мне надо найти сначала папку не содержащую ничего , не файлов не папок , удалить её, потом если папка на уровень выше
после удаления первой папки также становится пустой , то тоже удалить её. и т.д.

уф ... вроде нормально изложил суть вопроса

Может у кого нибудь есть готовые скрипки и кто нибудь поможет :)

Заранее благодарю

amel27
28-08-2009, 16:12
найти сначала папку не содержащую ничего , не файлов не папок , удалить её, потом если папка на уровень выше после удаления первой папки также становится пустой , то тоже удалить её. и т.д. »где-то так:
strFldr = Wscript.arguments.Item(0)

Set objFSO = CreateObject("Scripting.FileSystemObject")
DelBlank strFldr

Sub DelBlank(sFldr)
Dim oD, cD, oI

Set oD = objFSO.GetFolder(sFldr)
Set cD = oD.SubFolders

For Each oI In cD
DelBlank oI.Path
Next

If oD.Size = 0 Then
oD.Attributes = 0
oD.Delete
End If
End Sub
пример запуска:
CScript DelBlank.VBS C:\Temp

forsem
28-08-2009, 23:45
Спасибо. все работает

19w85
05-03-2010, 04:26
amel27
Спасибо!

Francyz
13-05-2010, 09:56
Спасибо за скрипт.




© OSzone.net 2001-2012