Я хотел бы создать подпапку Y в папке X, которую я уже создал на своем рабочем столе (см. Ниже).
Dim myFolder As String = IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "X")
If (Not (System.IO.Directory.Exists(myFolder))) Then
System.IO.Directory.CreateDirectory(myFolder)
End If
Думаю, мне следует использовать: System.IO.Directory.CreateDirectory (путь), но какой будет путь?
Я не знаю синтаксиса, который нужно использовать для создания папки «Y» внутри папки «X».
Возможно, путь = My.Computer.FileSystem.SpecialDirectories.Desktop & "\ X \", но ничего не создается.





Это может быть проще, чем вы думаете: Directory.CreateDirectory создаст все необходимые каталоги, поэтому вы можете использовать:
Dim myFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "X", "Y")
Directory.CreateDirectory(myFolder)
Или, если вы используете .NET Framework 1.1, который позволяет использовать только два элемента в Path.Combine:
Dim rootFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "X")
Dim myFolder = Path.Combine(rootFolder, "Y")
Directory.CreateDirectory(myFolder)
Всегда стоит заглядывать в документацию, поскольку она часто включает полезные комментарии о некоторых типичных применениях метода.
Спасибо за ответ, но я не вижу в документации 2 строки «X» и «Y» в конце метода, как в вашем примере, и он не работает для меня и дал мне ошибку в строке «Y». ":" Слишком много аргументов для 'Объединение общедоступных общих функций (путь1 как строка, путь2 как строка) как строка'. Я, вероятно, не все понимаю в этой документации MSDN.
@ JLuc01 А, вы используете очень старую версию Visual Studio? Отредактирую ответ.
Наверное, я (VBnet 2008). Но см. Мой ответ ниже.
@ JLuc01 Возможно, вы настроили его на использование .NET Framework версии 1.1, и в этом случае вам не хватает многих функций.
Да. Мне действительно нужно будет обновить мою версию VBnet (System.Core Version 3.5). В любом случае спасибо за вашу помощь.
Хорошо, я нашел это. Просто делаю двойную комбинацию.
Спасибо за помощь.
JLuc01
Dim Folder As String = IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "X")
Dim subFolder As String = IO.Path.Combine(Folder, "Y")
If (Not (System.IO.Directory.Exists(subFolder))) Then
System.IO.Directory.CreateDirectory(subFolder)
End If
Вам не нужно проверять, существует ли каталог: если это так, это не ошибка.
Спасибо Вам за информацию. На самом деле я думаю, что уже видел такой комментарий в другой ветке. Я сниму это.
Эй, выглядит солидно - что происходит, когда вы проходите, отлаживаете код, исследуете переменные? Что-то не так?