Найдите все подкаталоги в пути с частичным строковым именем

#c# #path #streamwriter

#c# #путь #потоковый писатель

Вопрос:

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

Например, вставив: «@abc», он должен выполнить поиск во всех каталогах, в названии которых присутствует «@abc», и выполнить действие для каждого из них.

 string[] directories = Directory.GetDirectories(@"C:UsersUsrDesktop",  "@abc",  SearchOption.AllDirectories);   foreach (var item in directories) {   using (StreamWriter writer = new StreamWriter(item @"/test.txt", false))  writer.Write("test");  }  

В приведенном выше примере следует выполнить поиск всех каталогов с именем «@abc», открыть каталог и записать в него файл txt, но это не работает. он ищет только точное имя папки

Комментарии:

1. Попробуй *@abc* вместо этого.

Ответ №1:

Я решил эту проблему.

Вместо этого мне пришлось использовать тип каталога.

 DirectoryInfo dir = new DirectoryInfo(@"C:UsersUsrDesktop"); DirectoryInfo[] directories = dir.GetDirectories("*"   "@abc"   "*.*");  

С помощью этого я могу найти все подкаталоги с частичным именем

Комментарии:

1. У меня есть одно предложение, вы можете получить путь к рабочему столу более удобным способом, например string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);