Подпапка внутри папки на рабочем столе

Я хотел бы создать подпапку 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 \", но ничего не создается.

Эй, выглядит солидно - что происходит, когда вы проходите, отлаживаете код, исследуете переменные? Что-то не так?

Poat 31.03.2018 23:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
62
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это может быть проще, чем вы думаете: 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 01.04.2018 00:06

@ JLuc01 А, вы используете очень старую версию Visual Studio? Отредактирую ответ.

Andrew Morton 01.04.2018 00:16

Наверное, я (VBnet 2008). Но см. Мой ответ ниже.

JLuc01 01.04.2018 00:25

@ JLuc01 Возможно, вы настроили его на использование .NET Framework версии 1.1, и в этом случае вам не хватает многих функций.

Andrew Morton 01.04.2018 00:27

Да. Мне действительно нужно будет обновить мою версию VBnet (System.Core Version 3.5). В любом случае спасибо за вашу помощь.

JLuc01 01.04.2018 00:31

Хорошо, я нашел это. Просто делаю двойную комбинацию.

Спасибо за помощь.

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

Вам не нужно проверять, существует ли каталог: если это так, это не ошибка.

Andrew Morton 01.04.2018 00:29

Спасибо Вам за информацию. На самом деле я думаю, что уже видел такой комментарий в другой ветке. Я сниму это.

JLuc01 01.04.2018 00:33

Другие вопросы по теме