我是 vbscripting 的新手,我刚刚收到一个任务,要求我在文件名中找到 6 个具有匹配字符串的文件,以便我可以将这些文件移动到不同的目录。我正在使用正则表达式模式“\d{8}-\d{6}”来定位文件名中的所有字符串。
我将如何在目录中进行搜索并检查文件名中是否有 6 个具有匹配字符串的文件,以便我可以将它们存储到数组中,然后将文件移动到另一个目录?
到目前为止我写的脚本:
Set objFS = CreateObject("Scripting.FileSystemObject")
strShareDirectory = "in\"
strDumpStorageDir = "out\"
Set objFolder = objFS.GetFolder(strShareDirectory)
Set colFiles = objFolder.Files
Set re = New RegExp
re.Global = True
re.IgnoreCase = False
re.Pattern = "-\d{8}-\d{6}"
Dim curFile, matchValue
Dim i: i = 0
For Each objFile in colFiles
bMatch = re.Test(objFile.Name)
curFile = objFile.Name
If bMatch Then
ReDim preserve matches(i)
Matches(i) = curFile
i = (i + 1)
For Each objFile1 in colFiles
If objFile1.Name <> objFile.Name Then
For each match in re.Execute(objFile1.Name)
matchValue = match.Value
Exit For
Next
If (Instr(curFile, matchValue) > 0) Then
matchCount = 1
For Each match1 in re.Execute(objFile1.Name)
curFile1 = objFile1.Name
matchValue1 = match1.Value
Exit For
'If Then
Next
'msgbox(curFile1)
End If
End If
Next
End If
Next
这是我正在使用的示例目录的样子。