0
基本上我需要創建此路徑「C:\ Users \ Desktop \ Info \ Clients \ Data」中的所有文件夾 但是甚至不存在基本的「Info」目錄,還有很多我需要創建的其他途徑,我可以通過什麼方式去做這件事?如何在vb.net的路徑中創建所有文件夾
基本上我需要創建此路徑「C:\ Users \ Desktop \ Info \ Clients \ Data」中的所有文件夾 但是甚至不存在基本的「Info」目錄,還有很多我需要創建的其他途徑,我可以通過什麼方式去做這件事?如何在vb.net的路徑中創建所有文件夾
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)
創建「現有的」文件夾是便宜 - 它會失敗,但是你可以忽略失敗。只是總是創造所有這些。 – usr2564301
@Jongware我不知道我明白 – Killpot
你有沒有試過這個? .NET非常聰明,可以創建任何缺少的中間文件夾。使用My.Computer.FileSystem.CreateDirectory()。並且不要硬編碼c:\ users,使用Environment.GetFolderPath(),這樣你就不會忘記用戶名。 –