#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);