Поиск файлов в папке с условием и вывод путей в ListBox - C#
Формулировка задачи:
В папке есть несколько подпапок. Программа перебирает все папки на предмет наличия необходимых файлов и выводит путь до них в ListBox. Это то что я смог сделать:
Наверное коряво написано..вы уж извините, только учусь.
Суть вопроса: чтобы программа проверяла подпапку, если там есть 8 заранее заданных в поиске файлов, то она пропускала папку и шла дальше, если какого то из заданных файлов не хватает выводила его в ListBox. Надеюсь все максимально четко расписал.
P.S. Еще небольшой вопросик, как сделать чтобы путь в ListBox выводился не полностью (С:\a\d\f\g\h), а к примеру (g\h) очень бы упростило жизнь!
Заранее спасибо за помощь!
private void search_Click(object sender, EventArgs e)
{
// Выбор нужной директории
string path = null;
using (var dialog = new FolderBrowserDialog())
if (dialog.ShowDialog() == DialogResult.OK)
path = dialog.SelectedPath;
string mydirectory = path;
// Определение параметров для поиска
string[] ext = new string[] { "Па.xml","Па.pdf", "От.docx","От.pdf","При.zip","Е.pdf","ПУ.pdf","Тит.jpg"};
foreach (string found in ext)
{
string[] allFoundFiles = Directory.GetFiles(mydirectory, found, SearchOption.AllDirectories);
// Вывод результатов в список
foreach (string file in allFoundFiles)
{
listView1.Items.Add(file);
}
}
}Решение задачи: «Поиск файлов в папке с условием и вывод путей в ListBox»
textual
Листинг программы
String line = @"C:\Magic\World\Hello\Path";
string[] array = line.Split(new[] { '\\' }, StringSplitOptions.RemoveEmptyEntries);
string result = array[array.Length - 2] + "\\" + array[array.Length - 1];
//result = Hello\Path