2017-01-22 3 views
0

Я пытаюсь запустить vbscript во всех подпапках моего текущего каталога. До сих пор у меня есть:с помощью vbscript для запуска другого vbscript во всех подпапках?

CreateObject("Wscript.Shell").Run("""*\dirlistnew.vbs""") 

Но это не работает. Если я удалю *\, он будет работать в текущем каталоге, но не в субтитрах. Я знаю, что мне не хватает чего-то простого. Быть и искать вещи в течение нескольких часов безрезультатно.

+1

Поиск «сайт VBScript подпапок рекурсии:» –

+0

stackoverflow.com Хмм ... * «разыскивал и пытается вещи в течение нескольких часов без толку» * действительно, я искал 4 минуты назад и обнаружил, что дубликат, что вы искали? – Lankymart

ответ

0

Получил это из моей библиотеки фрагментов, приспособился к вам. Не проверено, я больше в Ruby последние пару лет.

'call our sub with the desired path as option 
' this needs to be a Folder object, not a String 
' FSO.GetFolder will return that object given a path as string 
ShowSubfolders FSO.GetFolder(path) 

Sub CreateHtml(path) 
    ' put here the code from your other script (best) 
    ' or do your call to execute the other script 
    ' you probably need the path so you pass it as a parameter 
End Sub 

Sub ShowSubFolders(Folder) 
' a Folder has the method SubFolders, 
' gives a collection of subfolders that can be enumerated 
' with For Each construct 
    For Each Subfolder in Folder.SubFolders 
    ' print the subfolder so you can follow the progress 
    Wscript.Echo Subfolder.Path 
    ' and call the sub that creates the html file 
    CreateHtml Subfolder.Path 
    ' here the magic of recursion, the sub is calling itself with 
    ' as parameter the subfolder to process the subsubfolders etc 
    ShowSubFolders Subfolder 
    Next 
End Sub 

NB в Ruby, это только одна линия Dir["#{folder}/*"].each{|f| puts f if File.directory?(f) }

+0

Когда вы решаете отвечать на подобные вопросы, вы просто поощряете их больше. В лучшем случае вопрос низок, и он мало или совсем не пытается приблизиться к самой проблеме, не говоря уже о том, что до этого также был дан ответ. – Lankymart

+0

Да, но вы отпугиваете новых пользователей так, не видели, что это был двойной, но – peter

+0

NB: они просят решение VBScript не Ruby. – Lankymart

Смежные вопросы