Vbscript 循环和递归函数的错误

Vbscript 循环和递归函数的错误,vbscript,Vbscript,我正在尝试创建一个VbScript文件,该文件将读取包含文件夹名称列表的文本文件。 根据这些文件夹名称,我需要创建第二个文本文件,以打印出具有特定扩展名的所有文件 我已使用此代码完成任务的第二部分 Option Explicit 'force all variables to be declared Const ForWriting = 2 Dim objFSO 'File System Object Set objFSO = CreateObject("Scripting.FileSystem

我正在尝试创建一个VbScript文件,该文件将读取包含文件夹名称列表的文本文件。 根据这些文件夹名称,我需要创建第二个文本文件,以打印出具有特定扩展名的所有文件

我已使用此代码完成任务的第二部分

Option Explicit 'force all variables to be declared
Const ForWriting = 2
Dim objFSO 'File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objTS 'Text Stream Object
Set objTS = objFSO.OpenTextFile("C:\Output.txt", ForWriting, True)
Call Recurse("C:\")
objTS.Close()

Sub Recurse(strFolderPath)
    Dim objFolder
    Set objFolder = objFSO.GetFolder(strFolderPath)
    Dim objFile
    Dim objSubFolder

    For Each objFile In objFolder.Files
        'only proceed if there is an extension on the file.
        If (InStr(objFile.Name, ".") > 0) Then
            'If the file's extension is "pfx", write the path to the output file.
            If (LCase(Mid(objFile.Name, InStrRev(objFile.Name, "."))) = ".exe") Then _
                objTS.WriteLine(objfile.Path)
        End If
    Next

    For Each objSubFolder In objFolder.SubFolders
        Call Recurse(objSubFolder.Path)
    Next
End Sub
我曾尝试将其放入循环中,但当我这样做时,这行子递归(strFolderPath)出现语法错误

如果您能给我任何帮助,我将不胜感激

我曾尝试将其放入循环中,但当我这样做时,会出现语法错误 对于此行,子递归(strFolderPath)

结果脚本的结构如下所示:

Do Until tsIn.AtEndOfStream
   p = tsIn.ReadLine
   Sub Recurse(p)
   End Sub
   Call Recurse(p)
Loop
输出:

cscript 27537600-B.vbs
..\27537600-B.vbs(3, 4) Microsoft VBScript compilation error: Syntax error
VBScript不允许嵌套子/函数定义,尤其是在循环中(您可以在顶级代码中混合使用简单语句和子/函数定义,但这与其说是一个特性,不如说是一个bug)。如果你像这样重新构造脚本

Do Until tsIn.AtEndOfStream
   p = tsIn.ReadLine
   Call Recurse(p)
Loop

Sub Recurse(p)
End Sub
子行上不会出现语法错误