• Status: Solved
• Priority: Medium
• Security: Public
• Views: 332

# How to recursively add missing directories

How do I recursively add any required (missing) subdirectories using FSO?

For example, I want to have a function that will accept a folder name such as C:\folder1\folder2\folder3

What I need is to create any missing folders from that full path.
So if I already have C:\folder1 and it already has folder2, I want folder3 to be created.  When I pass the full path name, I dont know what folders, if any, already exist.

If I don’t have ANY of the folders, I want the entire path to be created.

I could pass \\server\directory\folder1\folder2\folder3 or U:\Reports\Sales\2007\
I can verify that the server/drive exists… but not how to recursively build the list of folders.

I can verify that there is no filename in that list… all I need is a function (or functions) that will make sure that the entire directory specified exists.  So by the time the function is done, I don’t have to check does folder exist or anything like that.

Thanks!
0
tfsaccount
• 3
• 2
1 Solution

Commented:
This should do it:
path = "C:\test\folder\to\create"

Set fso = CreateObject("Scripting.FileSystemObject")
parts = Split(path, "\")
temp = parts(0) & "\"

For i = 1 To UBound(parts)
temp = temp & parts(i) & "\"

If Not fso.FolderExists(temp) Then
fso.CreateFolder(temp)
End If
Next

0

Commented:

Simply call System.IO.Directory.CreateDirectory(directoryName) with the full path, it creates the directories for you!
0

Commented:
@jasonduan

>>  Simply call System.IO.Directory.CreateDirectory(directoryName) with the full path,

In classic VB? I believe you're thinking of .NET  :)
0

Commented:
sorry, i was thinking of .net.
0

Author Commented:
Thanks!!!
0

Commented: