我无法在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关键字. 仅在将对象类型分配给变量时才需要设置.