Windows のディレクトリをスキャンする LS エージェントを作成しようとしています。サブディレクトリごとに、内部に入り、さらにファイルとサブディレクトリを検索し、探すものがなくなるまで続けます。長い文字列内の文字を置換または削除する再帰コードを書くのに慣れていますが、これについては完全に迷っています。以下は私のコードです (ドミノのヘルプ ファイルのコードと、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
コメント部分でコードを再帰的にするには、何を変更する必要がありますか? ('ここでさらにディレクトリとファイルを探します)。特定のファイルやディレクトリを見つけようとしているだけではありません。1つで利用できるすべてが必要です。それができれば、それらを取得して NotesDocument に保存できます。