![]() |
WSH + FSO - поиск объектов по каталогам
Приветствую,
имеется простой сценарий и вопрос: *** Option Explicit Dim FSO Dim ObjFolder, ObjSubFolder Dim text, i Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set objFolder = fso.getfolder("c:\Someone_Folder") Set ObjSubFolder = ObjFolder.SubFolders Call ListSubFolders(objSubFolder) Public Sub ListSubFolders(obj) For Each i In obj text = text & i.name & vbcrlf Next end Sub WScript.Echo Text *** Соответственно, выводится список всех подкаталогов взятой папки Каким образом можно вывести так же и вложенные в нее файлы, и файлы каталогов-внуков в тот же поток? В ADSI (WinNT) у всех объектов есть свойство - object.class, - таким образом можно создать нечто вроде if obj.class = "organizationalUnit" then далее вызвать необходимую процедуру, к примеру вышеперечисленную, - при этом в качестве входящего параметра будет использоваться найденный объект-контейнер, и поиск будет производиться уже соответственно из этого родителя. Но на FSO в документации и MSDN ничего не нашол, информации мало :) Может, у кого какие идеи есть, или сталкивались? Можно на JS Спасибо! |
Код:
'-------------------------- |
если плясать от исходного...
Код:
Option Explicit |
Ramzes_ & Sham - Thnks!)
|
dsa, Вот ещё вариант
Код:
Dim dArray(), idx, idx1, SFCount Idx=1 SFCount=1 Set FSO = CreateObject("Scripting.FileSystemObject") ReDim Preserve dArray(idx) dArray(idx)=InputBox ("Введите полный путь к папке") Sub SFfunc If SFcount=0 and idx1=idx Then exit sub SFCount=0 idx1=idx1+1 Set SD=FSO.GetFolder(dArray(idx1)) For each SF in SD.Subfolders idx=idx+1 Redim Preserve dArray(idx) dArray(idx)=SF.Path SFCount=SFCount+FSO.GetFolder(dArray(idx)).SubFolders.Count call SFfunc next end sub |
Время: 02:32. |
Время: 02:32.
© OSzone.net 2001-