Нужна помощь в создании подпапки второго уровня

У меня есть следующий код, который создает подпапку в каталоге рабочего стола. Это отлично работает, нет проблем.

Тем не менее, я хотел бы создать другую подпапку в только что созданной подпапке. Код, который я использую на данный момент:

Dim ab = New DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Client\" & TextBox1.Text))
            If Not ab.Exists Then ab.Create()

            ‘Need help here on how to create another sub-folder within the newly created sub-folder…
Dim fi = New DirectoryInfo(?????)
            If Not fi.Exists Then fi.Create()

Пожалуйста, как мне получить программу для этого?

3 ответа

Решение

Сохраните исходное местоположение папки в строковой переменной, а затем вы можете использовать ее по мере необходимости.

StartPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), _ 
         "Client\" & TextBox1.Text)

Dim ab = New DirectoryInfo(StartPath)
If Not ab.Exists Then ab.Create()

StartPath = Path.Combine(StartPath, "NextLevel\")

Dim fi = New DirectoryInfo(StartPath)
If Not fi.Exists Then fi.Create()

Сохраните адрес первой созданной вами папки в строке и просто используйте ее как основу для подпапок.

Вот очень простой способ создать весь путь:

Dim ensureExists As Action(Of DirectoryInfo) = Nothing
ensureExists = Sub(di)
    di.Refresh()
    If Not di.Exists
        ensureExists(di.Parent)
        di.Create()
    End If
End Sub

Теперь вы просто позвоните ensureExists с DirectoryInfo полного пути, который вы хотите, и он просто гарантирует, что все это есть.

ensureExists(New DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Client\" & TextBox1.Text)))
Другие вопросы по тегам