2015-07-03 60 views
0

基本上我需要创建此路径“C:\ Users \ Desktop \ Info \ Clients \ Data”中的所有文件夹 但是甚至不存在基本的“Info”目录,还有很多我需要创建的其他途径,我可以通过什么方式去做这件事?如何在vb.net的路径中创建所有文件夹

+0

创建“现有的”文件夹是便宜 - 它会失败,但是你可以忽略失败。只是总是创造所有这些。 – usr2564301

+0

@Jongware我不知道我明白 – Killpot

+2

你有没有试过这个? .NET非常聪明,可以创建任何缺少的中间文件夹。使用My.Computer.FileSystem.CreateDirectory()。并且不要硬编码c:\ users,使用Environment.GetFolderPath(),这样你就不会忘记用户名。 –

回答

4

System.IO名称空间中的类Directory具有一个名为CreateDirectory的方法,根据MSDN的说明,将创建传递路径中提及的每个目录。

创建路径中指定的任何和所有目录,除非它们已经存在或者除非路径的某些部分无效。如果目录 已存在,则此方法不会创建新目录,但 将为现有目录返回一个DirectoryInfo对象。

所以,你只需要

Directory.CreateDirectory("C:\Users\Desktop\Info\Clients\Data") 

,如果不存在,所有的目录将被创建。

在这个特定的例子中,正如Hans Passant上面的评论中所解释的那样,您应该尽量避免使用硬编码路径。枚举Environment.SpecialFolder是对硬盘上众多众所周知的位置的符号引用。你可以通过这个枚举的一个元素Environment.GetFolderPath找回物理路径硬盘上的

Dim userDesktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) 
Dim fullPath = Path.Combine(userDesktop, "INFO\Clients\Data") 
Directory.CreateDirectory(fullPath) 
相关问题