Необходимо найти все файлы на диске. Есть такой код:
System.IO.DirectoryInfo number = new System.IO.DirectoryInfo(@"D:\");
int count = number.GetFiles().Length;
Ищет, но не ищет во всех папках. Пробовал так:
System.IO.DirectoryInfo number = new System.IO.DirectoryInfo(@"D:\");
int count = number.GetFiles(".", SearchOption.AllDirectories).Length;
SearchOption.AllDirectories
будет ронять весь поиск, если к одному из подкаталогов нет доступа. А учитывая, что ты передаёшь корень диска, там гарантированно попадётся System Volume Information и поиск упадёт. В остальном код работоспособный.
Чтобы правильно обработать каталоги, к которым нет доступа, надо вместо передачи этого флага написать рекурсивную функцию, которая будет сама перебирать каталоги и игнорировать (или каким-либо ещё образом обрабатывать) исключения ошибки доступа.
PS: https://ru.stackoverflow.com/a/419435/178988
http://bbs.vbstreets.ru/viewtopic.php?f=2&t=44440
http://www.cyberforum.ru/csharp-beginners/thread957151.html
Раньше пробовала реализовать рекурсивный поиск в папке; может быть, кусочек моего кода Вам пригодится.
private string directoryPath = @"D:\Папка";
/* Обработчик нажатия на кнопку "Сканировать". */
private void btnScan_Click(object sender, EventArgs e)
{
string mask = "*.sln"; // например, можно любую другую
DirectoryInfo root = new DirectoryInfo(directoryPath);
try
{
// Ищем файлы в корневой директории.
getFiles(root);
// Рекурсивный поиск по поддиректориям.
getChildDirectories(root);
}
catch (Exception ex)
{
// ...
}
}
private void getChildDirectories(DirectoryInfo rootDirectory)
{
foreach (DirectoryInfo directory in rootDirectory.GetDirectories())
{
try
{
getFiles(directory);
getChildDirectories(directory);
}
catch (Exception ex)
{
// ...
}
}
}
private void getFiles(DirectoryInfo directory)
{
var files = Directory.EnumerateFiles(directory.FullName, mask, SearchOption.TopDirectoryOnly);
foreach (var file in files)
{
// делаешь что-то хорошее с каждым найденным файлом.
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Текст парсится в хаотичном порядке, одно слово на первой строке, второе на 2 и тд
Не могу сделать C# обертку для enum C++ c помощью SWIGЗначение членов c++ enum, которые я хочу обернуть превосходят максимальное значение для Int32
Разбираюсь со свойствами зависимостиКак я понял, что бы создать свойство зависимости необходимо проделать следующие шаги (сейчас буду их сравнивать...