2015-07-03 61 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) 
相關問題