Creating Mulitple Levels of Directories

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

I was writing a custom installation script and needed to create many sub
directories. I looked at Brad Gutilla’s article and thought that there had
to be a simpler method. Recursion steps in and saves the day. Not much to
say about the code, as it is pretty simple and easy to follow.


void CreateAllDirectories(CString strDir)
{
// remove ending / if exists
if(strDir.Right(1)==”\”)
strDir=strDir.Left(strDir.GetLength()-1);

// base case . . .if directory exists
if(GetFileAttributes(strDir)!=-1)
return;

// recursive call, one less directory
int nFound = strDir.ReverseFind(‘\’);
CreateAllDirectories(strDir.Left(nFound));

// actual work
CreateDirectory(strDir,NULL);
}

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read