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); }