Vbscript 对于每个文件,不使用';不能超过1000个文件?

Vbscript 对于每个文件,不使用';不能超过1000个文件?,vbscript,filesystemobject,Vbscript,Filesystemobject,我正在尝试获取搅拌机渲染作业持续时间估计的CSV输出。我喜欢在Excel中输入文件时间戳,所以我写了下面的VBScript(它还没有100%准备好,但回音应该可以工作)。但是,它不会迭代超过第1000个png文件。它在文件9999处结束。 目前我有35432个png文件 为什么VBScript不能超过1000个文件 Option Explicit 'force all variables to be declared Const ForWriting = 2 Dim objFSO Set obj

我正在尝试获取搅拌机渲染作业持续时间估计的CSV输出。我喜欢在Excel中输入文件时间戳,所以我写了下面的VBScript(它还没有100%准备好,但回音应该可以工作)。但是,它不会迭代超过第1000个png文件。它在文件9999处结束。 目前我有35432个png文件

为什么VBScript不能超过1000个文件

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

Recurse objFSO.GetFolder("C:\tmp")
objTS.Close()

Sub Recurse(objFolder)
    Dim objFile, objSubFolder
    For Each objFile In objFolder.Files
        If LCase(objFSO.GetExtensionName(objFile.Name)) = "png" Then
            WScript.Echo objFSO.GetBaseName(objFile.Name) & vbTab & _
                CDate(objFile.DateLastModified) & vbTab & _
                CDate(objFile.DateCreated)
            objTS.WriteLine(objfile.Path)
        End If
    Next
    'unmark to make it recursive
    'For Each objSubFolder In objFolder.SubFolders
    '    Recurse objSubFolder
    'Next
End Sub

只是猜测,但除非您的文件名有某种左填充,并且默认情况下它们是按字母顺序迭代的(我假设您的文件系统是NTFS),否则在一组35432个文件中,最后一个是9999(字母顺序)。我只是重复它们,看起来它从1到9999计数(所有文件的名称类似于12345.pngSilly问题,但是,您是否计算了输出中的行数?如果文件名为
1.png
2.png
,…,
12345.png
,并且如前所述,文件按字母顺序处理(
100.png
9.png
)对于一组35000个文件,最后一组回显的文件将是
9.png
90.png
91.png
,…
900.png
9998.png
9999.png
,因为每个以
9
开头的文件都是按字母顺序排列的。