是否有一个VBscript等效于php glob函数

时间:2013-06-26 19:50:04

标签: vbscript glob

我在php中有这一行代码,它返回一个像这样的文件名数组;

1 => folderName/elev-a.jpg
1 => folderName/elev-b.jpg
1 => folderName/elev-c.jpg
1 => folderName/elev-d.jpg

..这是代码

$elev = glob($folderName.'/elev-[a-z].jpg');

我现在需要在ASP的程序中使用它。从我到目前为止所读到的,听起来我需要使用字典对象,文件系统对象,正则表达式对象和一些循环。这似乎可能是我在VBscript中遗漏了一些我可能不知道的东西。复制那一个函数真的很难吗?我迷路了。

2 个答案:

答案 0 :(得分:1)

我没有完成很多服务器端脚本,但是我有类似于你正在寻找的东西:

Function GetFileNames(Directory, Pattern)
Dim FileNames(), AfterPattern()
Dim FolderObject, fso, f
Dim i
i = 0

Set fso = CreateObject("Scripting.FileSystemObject")
Set FolderObject = fso.GetFolder(Directory)
ReDim FileNames(FolderObject.Files.Count)
ReDim AfterPattern(FolderObject.Files.Count)
For Each f In FolderObject.Files
    FileNames(i) = f.Path
    i = i + 1
Next
'Pattern Portion
Dim RegExp
Set RegExp = CreateObject("VBScript.RegExp")
RegExp.Pattern = Pattern
RegExp.Global = False
Dim x
x = -1
For i = LBound(FileNames()) To UBound(FileNames())
    If RegExp.Test(FileNames(i)) = True Then
        x = x + 1
        AfterPattern(x) = FileNames(i)

    End If
Next
ReDim Preserve AfterPattern(x+1)
GetFileNames = AfterPattern()


Set fso = Nothing
Set FolderObject = Nothing
Set RegExp = Nothing

End Function

第二个参数是您在问题中提到的正则表达式模式。 : - )

干杯,LC

答案 1 :(得分:-2)

请尝试以下方法:
$elev = glob($folderName.'/elev-'.'*');