ven00m |
17-07-2008 13:47 854008 |
Передача объекта в функцию
Вобщем надо написать скрипт для отчистки каталога со всеми подкаталогами (хз скока их там) от всяких ненужных файлов. Так как количество подкаталогов неизвестно то кроме как при помощи рекурсии имхо это не сделать, но у мну не получается передать в функцию каталог как объект. Заранее благодарен за помощь.
Код:
'On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("c:\test\") ' Начальный каталог
Function Cleaner ( byRef Folder )
For Each File in Folder.Files' Ищем в каталоге мусор среди файлов
If File.Name = "$*" Or File.Name = "Thumbs.db" Or File.Name = "*.TMP" Then ' по маске
'File.Delete 'удаляем
WScript.Echo File.Name
End If
Next
For Each subFolder in Folder.SubFolders
Cleaner ( subFolder )' вызываем эту же функцию для каждого подкоталога
Next
End Function
|
Petya V4sechkin |
17-07-2008 15:39 854174 |
ven00m, эта строка явно не к месту:
Цитата:
Цитата ven00m
If File.Name = "$*" Or File.Name = "Thumbs.db" Or File.Name = "*.TMP" Then
|
Так работает:
Код:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.GetFolder("c:\test\") ' Начальный каталог
Cleaner F
Sub Cleaner(Folder)
On Error Resume Next
FSO.DeleteFile Folder.Path + "\$*", True
FSO.DeleteFile Folder.Path + "\Thumbs.db", True
FSO.DeleteFile Folder.Path + "\*.TMP", True
For Each subFolder in Folder.SubFolders
Cleaner subFolder
Next
End Sub
|
функцию объявил, а где её вызов?
|
ven00m |
17-07-2008 16:13 854223 |
Спасибо петруха. Все зашибись работает :cool:
|
Время: 14:21.
© OSzone.net 2001-