Re: Calling an MS-DOS command
- From: "Albert D. Kallal" <kallal@xxxxxxx>
- Date: Wed, 22 Feb 2006 08:02:38 GMT
Yes, I have been using dir() but want to retrieve a whole directory tree
and have found that there is a rather neat MS-DOS one-liner that will do
all the leg-work for me. This is ...
Well, you can use dir..and some recusrion to traverse the tree....
Here is my code...
The first sub shows how to use the routine....
Sub dirTest()
Dim dlist As New Collection
Dim startDir As String
Dim i As Integer
startDir = "C:\access\"
Call FillDir(startDir, dlist)
MsgBox "there are " & dlist.Count & " in the dir"
' lets printout the stuff into debug window for a test
For i = 1 To dlist.Count
Debug.Print dlist(i)
Next i
End Sub
Sub FillDir(startDir As String, dlist As Collection)
' build up a list of files, and then
' add add to this list, any additinal
' folders
Dim strTemp As String
Dim colFolders As New Collection
Dim vFolderName As Variant
strTemp = Dir(startDir)
Do While strTemp <> ""
dlist.Add startDir & strTemp
strTemp = Dir
Loop
' now build a list of additional folders
strTemp = Dir(startDir & "*.", vbDirectory)
Do While strTemp <> ""
If (strTemp <> ".") And (strTemp <> "..") Then
colFolders.Add strTemp
End If
strTemp = Dir
Loop
' now process each folder (recursion)
For Each vFolderName In colFolders
Call FillDir(startDir & vFolderName & "\", dlist)
Next vFolderName
End Sub
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pleaseNOOSpamKallal@xxxxxxx
http://www.members.shaw.ca/AlbertKallal
.
- References:
- Calling an MS-DOS command
- From: Alan Searle
- Re: Calling an MS-DOS command
- From: Br@dley
- Re: Calling an MS-DOS command
- From: Alan Searle
- Calling an MS-DOS command
- Prev by Date: DoCmd.GoToRecord , , acNewRec
- Next by Date: Re: DoCmd.GoToRecord , , acNewRec
- Previous by thread: Re: Calling an MS-DOS command
- Next by thread: Relational database design
- Index(es):
Relevant Pages
|