Я пытаюсь написать агент LS для сканирования каталога в окнах, например: 'C: \' для любых файлов и подкаталогов. Для каждого подкаталога он заходит внутрь и ищет больше файлов и подкаталогов и продолжается до тех пор, пока их больше не искать. Я привык писать рекурсивный код для замены или удаления символов в длинной строке, но для этого я полностью потерян. Ниже мой код (это сочетание кода из домино файла справки и один я нашел на сайте IBM):Локальный каталог окон поиска для подкаталогов и файлов. Рекурсия?
Sub Initialize
Dim pathname As String, filename As String
pathname = "C:\*.*"
filename = Dir(pathname, 16)
Print "Begin scan"
Do While filename<>""
If IsDir(pathname+filename)=True Then
Print pathname+filename+" is a directory"
'look for more directories and files in here
Else
Print filename+" is a file"
End If
filename=Dir()
Loop
Print "Finish scan"
End Sub
Function IsDir(Path As String) As Integer
Dim Void&
Dim Result As Boolean
On Error GoTo ErrorHandler
Void=FileLen(Path)
Result=False
GoTo Over
ErrorHandler:
Result=True
Resume Over
Over:
IsDir=Result
End Function
Что мне нужно изменить, чтобы сделать код рекурсивным в комментировал части? («Ищите больше каталогов и файлов здесь). Я не просто пытаюсь найти конкретный файл или каталог. Я хочу, чтобы все это имелось в наличии. Если я смогу это сделать, я смогу их восстановить и сохранить в NotesDocument.
Просто чтобы добавить к этому. Известна проблема, когда DIR $ может блокировать папки (если вы планируете удалить рекурсивно). SPR SODY85SM84. Подробнее здесь http://www-10.lotus.com/ldd/nd85forum.nsf/5f27803bba85d8e285256bf10054620d/322e819311441a5a8525772e005d0078?OpenDocument –