如何在C#中从单个完整路径创建多个目录?

Joa*_*nge 154 .net c# base-class-library

如果你有一个完整的路径:"C:\dir0\dir1\dir2\dir3\dir4\"你如何最好地实现它,以便所有目录都存在?

在BCL中有这种方法吗?如果没有,那么最优雅的方式是什么?

SLa*_*aks 330

我会打电话Directory.CreateDirectory(@"C:\dir0\dir1\dir2\dir3\dir4\").

与流行的看法相反,Directory.CreateDirectory将自动创建不存在的父目录.
用MSDN的话来说,Creates all directories and subdirectories as specified by path.

如果整个路径已经存在,它将什么都不做.(它不会抛出异常)

  • @Joan:是的; 你可以调用`Path.GetDirectoryName`来获取它. (27认同)
  • 谢谢,我不知道这个.路径必须是目录路径,而不是文件路径,对吧? (3认同)
  • 它本应该调用CreateDirectoryTree (2认同)