Dateien via Wildcards ermitteln

20/04/2009 - 12:58 von Thomas Winkler | Report spam
Hallo,

ich möchte gerne Aktionen für bestimmte Dateien ausführen, welche
mittels Wildcards in einem Pfad zu ermitteln sind. Dazu würde ich in VB
wie folgt vorgehen:

Sub Machwas(strPath)
strFileName = Dir(strPath & "*.ini")
Do While strFileName <> ""
'Hier die Aktionen
strFileName = Dir
Loop
end sub

Leider kennt WSH kein "Dir". Habe schon im Netz einige Workarounds
gefunden
(http://cwashington.netreach.net/dep....asp?Index1&ScriptType=vbscript)
aber ich kann mir einfach nicht vorstellen, dass das die eleganteste
Lösung sein soll. Was haltet ihr davon?

Wie würdet Ihr hier vorgehen?

Thomas

"Access? Damit arbeite ich nicht. Das ist doch nur ein abgespecktes Excel."
 

Lesen sie die antworten

#1 Pegasus [MVP]
20/04/2009 - 13:42 | Warnen spam
"Thomas Winkler" wrote in message
news:
Hallo,

ich möchte gerne Aktionen für bestimmte Dateien ausführen, welche mittels
Wildcards in einem Pfad zu ermitteln sind. Dazu würde ich in VB wie folgt
vorgehen:

Sub Machwas(strPath)
strFileName = Dir(strPath & "*.ini")
Do While strFileName <> ""
'Hier die Aktionen
strFileName = Dir
Loop
end sub

Leider kennt WSH kein "Dir". Habe schon im Netz einige Workarounds
gefunden
(http://cwashington.netreach.net/dep....asp?Index1&ScriptType=vbscript)
aber ich kann mir einfach nicht vorstellen, dass das die eleganteste
Lösung sein soll. Was haltet ihr davon?

Wie würdet Ihr hier vorgehen?

Thomas



Du könntest es mit einer rekursiven Subroutine so lösen:

sPath = "c:\Windows"
sExt = ".ini"
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sPath)
SearchFiles oFolder

Sub SearchFiles(oFldr)
For Each oFile In oFldr.Files
if lcase(right(oFile.Name,4)) = sExt then WScript.Echo oFile.Path
Next

For Each oSubFolder In oFldr.Subfolders
SearchFiles oSubFolder
Next
End Sub

Ähnliche fragen