VBScript で、複数のフォルダー/ファイルの objFSO や objFolder のような "Scripting.FileSystemObjects" を管理するにはどうすればよいですか?
「メイン」コード セクションで、「Scripting.FileSystemObject」のインスタンス (グローバル) を宣言します。
    Set objFSO = CreateObject("Scripting.FileSystemObject")
次に、次のようないくつかの操作を実行します。
    If objFSO.FileExists(strOutputFilename) Then
        WScript.Echo "Deleting File: " & strOutputFilename
        objFSO.DeleteFile strOutputFilename
    End If
次に、ループでフォルダーを取得し、それを関数に渡します。
    For gintLoop = 0 to (ubound(arraySearchPath))
        wscript.echo "Processing folder:" & arraySearchPath(gintLoop)
        Set objFolderX = objFSO.GetFolder(arraySearchPath(gintLoop))
        Call DoWork (objFolderX, arrayParam1, arrayParam2)
    Next
これまでのところ、すべてが明らかです...
ここで、関数内で次のようなことを行います: 
a) objFolder からファイル名を収集する  
    Set lobjFolder = objFSO.GetFolder(objFolderX.Path)  
    Set lcolFiles = lobjFolder.Files
b)他の(無関係な)パスにファイルが存在するかどうかを確認します
c) さまざまなファイルのサイズを取得します。
    lcurInputFileSize = CCur(lobjFile.Size)
d) 各種ファイルの削除
e) 読み取り用にファイルを開く
    For Each lobjFile in lcolFiles
        lstrTargetFile = lobjFolder.Path & "\" & lobjFile.Name
        Set lobjInputFile = objFSO.OpenTextFile(lstrTargetFile, ForReading)
    ...
f) 書き込み用にファイルを開く
    Set lobjOutputFile = objFSO.OpenTextFile(strOutputFilename, ForAppending, True)
g)さまざまなオブジェクトを渡す他のサブ/関数を呼び出す
h)(同じ)関数を再帰的に呼び出して、他のフォルダーを処理します
    For Each lobjSubfolderY in objFolderX.SubFolders
        Call DoWork (lobjSubfolderY, arrayParam1, arrayParam2)
    Next
私の懸念は、フォルダー パス、開いているファイルなどの FileSystemObjects のさまざまな使用法が、後で FileSystemObjects を使用することによって「ステップオン」されないようにする必要があることです。
質問 1: 「メイン」と各 (または一部の) サブ/関数に対して「Scripting.FileSystemObject」(objFSO) の個別のインスタンスが必要ですか (または推奨されますか) ?
質問 2: 同様に、他のさまざまなオブジェクトを管理して、データが失われないようにするにはどうすればよいですか?
ケビン