每个VBScript都不起作用

Jer*_*ron 4 vbscript

我无法在VBScript中获得以下功能.我试图获取文件夹中的所有文件并循环它们以获得编号最高的文件.(文件名格式为log_XXX.txt)我遇到的问题是代码永远不会进入我的For Each循环.我是VBScript的新手,但我似乎不明白为什么这不起作用.

Function GetFileNumber(folderspec)
   Dim fso, f, f1, fc, s, tempHighNum
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   WScript.Echo f.Files.Count : rem prints 3
   Set fc = f.Files
   WScript.Echo fc.Count : rem prints 3
   Set tempHighNum = "000"
   For Each f1 in fc
      WScript.Echo f1.Size : rem does not print
      WScript.Echo f1.Type : rem does not print
      WScript.Echo f1.Name : rem does not print       
      s = Right(f1.name,3)
      IF NOT(ISNULL(s)) THEN
        IF (s > tempHighNum) THEN
            tempHighNum = s
        END IF
      END IF
   Next
   GetFileNumber = tempHighNum
End Function
Run Code Online (Sandbox Code Playgroud)

Sau*_*gin 11

改变这一行:

Set tempHighNum = "000"
Run Code Online (Sandbox Code Playgroud)

以下内容:

tempHighNum = "000"
Run Code Online (Sandbox Code Playgroud)

您正在尝试将tempHighNum变量设置为字符串类型.因此,您不应使用Set关键字. 仅在将对象类型分配给变量时才需要设置.