我的脚本正在做以下几点:
- 检索所有我选择的文件夹文件
- 按日期对它们进行分类(从最近的到较早的)
- 在窗口中显示它们
这是我的 VBS 脚本(我检索它here http://codes-sources.commentcamarche.net/source/37322-vbscript-liste-des-fichiers-d-un-repertoire-tries-par-date-de-modification-du-recent-au-ancien):
Option Explicit
Const PathMDB = "C:\Users\C8461789\Desktop\test_script"
MsgBox TriRepertoire,,"Enumération " & PathMDB
'---lister les fichiers du répertoire ---
Function TriRepertoire()
Dim fso, fichier, fileItem
Dim i, imax, z, valeur, cible, liste
Set fso = CreateObject("Scripting.FileSystemObject")
imax = 0
'début de l'énumération
For Each fichier In fso.GetFolder(PathMDB).Files
Set fileItem = fso.GetFile(fichier)
imax = imax + 1
ReDim Preserve Tableau(2, imax)
Tableau(1, imax) = Fichier.Name
Tableau(2, imax) = FileItem.DateLastModified
'---trier les fichiers par ordre décroissant de création ---
Do
Valeur = 0
For i = 1 To imax - 1
If InStr(Tableau(1,i), "average", vbTextCompare) > 0 Then
If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then
For z = 1 To 2
Cible = Tableau(z, i)
Tableau(z, i) = Tableau(z, i + 1)
Tableau(z, i + 1) = Cible
Next
Valeur = 1
End If
End If
Next
Loop While Valeur = 1
Set fileItem = nothing
Next
'Affichage du résultat classé
For i = 1 To imax
'If IsNull(Tableau) Then
liste = liste &vbTab& Tableau(1, i) &vbCr
'End If
Next
TriRepertoire = liste
Set fso = nothing
End Function
为了按名称过滤检索到的文件,我想添加以下条件:
- 对于每个文件名,如果包含“average”,则将该文件名添加到表中
- 否则什么也不做
我尝试使用
如果 InStr(Tableau(1,i), "average", vbTextCompare) > 0 那么
But it shows me this error :