Я просматривал все, и я не могу найти ответы на все, что касается меня конкретно.Как я могу получить массив файлов или количество файлов на основе нескольких условий
Я пытаюсь либо вернуть массив файлов, либо подсчитать файлы в папке, основанной на нескольких условиях.
Что-то похожее на это: how search file with multiple criteria of extension of file
Однако, я не ищу, чтобы поиск на основе только расширения файла, но и имена файлов.
Например:
Если у меня есть следующие файлы в папке:
test1.mp3
test2.avi
test1.jpg
Как я могу искать все файлы, содержащие «1». Хитрость заключается в том, что пользователи могут динамически добавлять условия для проверки в имени файла. Так что это не может быть примерно так: dInfo.GetFilesByExtensions (". Jpg", ".exe", ".gif");
Условия будут добавлены к множеству условий.
Так что если пользователь теперь также ищет файлы, содержащие «1» и «t». Я бы хотел, чтобы он возвращал либо «2» (например, счетчик), либо как массив этих файлов, например, x - это код.
строка [] файлы = х
после выполнения кода, массив файлов будет выглядеть следующим образом:
файлы [0] = "C: \ test1.mp3"; файлов [1] = "C: \ test1.jpg";
Посмотрите здесь https://msdn.microsoft.com/en-us /library/dd383458(v=vs.110).aspx в примере внизу для запроса linq, который показывает, как искать файлы, содержащие слово «europe». – failedprogramming
Хмм, но мне нужно было сделать что-то вроде этого: string [] условия = {"a", "b"}; foreach (string val in conditions) { var files = из файла в Directory.EnumerateFiles (@ "C: \ library \") где file.ToLower(). Содержит (val) файл выбора; foreach (файл var в файлах) { Console.WriteLine ("{0}", file); } } Куда я бы перебирал свои условия и снова просматривал папку. Я думаю, что это может сработать, но кажется, что это будет немного медленнее. – Faker
Одна из возможных проблем с Directory.EnumerateFiles заключается в том, что вы будете искать весь путь к файлу, а не только имя файла. Поэтому, если вы хотите, чтобы все файлы с '' t'' в них, а путь к файлу содержит '' t'', тогда он вернет все файлы ... –