Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 8

Перебор файлов и директорий

12.08.2011, 13:44. Показов 5094. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Во общем решил попробовать написать антивирус (сканер)
Так как си шарп изучаю не так давно (2 месяца)
Хотел бы узнать как такое можно организовать.
За ранее благодарю.
p.s. обшарил все поисковики, ни одного исходника антивируса.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.08.2011, 13:44
Ответы с готовыми решениями:

Как получить список директорий и файлов (не расшаренных) сетевого компа при условии Full Access?
Как получить список директорий (файлов) (не расшаренных) сетевого компа (при условии Full Access). Т.е. мне нужно програмно получить то,...

Перебор директорий
Здравствуйте. По лабе С#.Нужно, ввести какой нибудь корневой каталог (например C:\ или D:\Programm Files), программа должна посчитать...

Рекурсивный перебор директорий сервера
Всем доброго времени суток уважаемые форумчане, недавно начал изучение языка C# Вот уже несколько дней не могу понять как сделать...

5
Заблокирован
12.08.2011, 16:23
Антивирус на Шарпе? Разве это реально?
Цитата Сообщение от BrooDRay Посмотреть сообщение
Так как си шарп изучаю не так давно (2 месяца)
Круто ты начал. Может чо по-проще?
0
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 8
12.08.2011, 16:30  [ТС]
Цитата Сообщение от Rebicon Посмотреть сообщение
Антивирус на Шарпе? Разве это реально?

Круто ты начал. Может чо по-проще?
По твоему мне надо изучать калькулятор?
У меня все готово. Даже хешированые сигнатуры вирусов.
Я просто не могу разобраться с проверкой директорий и самих файлов.
Хотя бы примерно подскажите как это осуществить?
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
12.08.2011, 17:15
Перебор всех файлов и директорий в поиске картинок (для поиска всех файлов надо убрать проверку расширения):

Пример кода...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Расширения картинок.
private static readonly string[] expansions = new string[] { "bmp", "jpg", "png", "gif" };
// Здесь храним полный путь к файлу, включая имя файла с его расширением, в списке:
private static List<string> list;
 
        // Получения всех файлов в указанном пути path и сохранение результатов в списке list:
        private static void GetFiles(string path)
        {
            string[] files = System.IO.Directory.GetFiles(path);
            foreach (string file in files)
                // Если не надо проверять тип, уберите эту проверку:
                if (CheckFile(file))
                    list.Add(file);
            // Если есть еще директории в указанной папке, то ищем картинки еще там:
            string[] directories = Directory.GetDirectories(path);
            foreach (string directory in directories)
                GetFiles(directory);
        }
 
        // Проверка расширения:
        private static bool CheckFile(string file)
        {
            int index = file.LastIndexOf('.') + 1;
            string check = file.Substring(index, file.Length - index).ToLower();
            foreach (string expansion in expansions)
                if (check == expansion)
                    return true;
            return false;
        }


Итого для получения всех файлов-картинок надо вызвать метод GetFiles.
Надеюсь принцип понятен и Вы сможете переделать этот пример под свои нужды.
1
Заблокирован
12.08.2011, 17:59
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System.IO;
..........................
            String[] LogicalDrives = Environment.GetLogicalDrives();
            foreach (string LD in LogicalDrives)
            {
                try
                {
                    DirectoryInfo directoryInfo = new DirectoryInfo(LD);
                    if (directoryInfo.Exists)
                    {
                        // ищем в корневом каталоге
 
                        FileInfo[] fileInfos = directoryInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly);
                        foreach (FileInfo fi in fileInfos)
                        {
                            // выполняем нужное действие
                        }
                    }
                }
                catch { }
 
                try
                {
                    DirectoryInfo directoryInfo = new DirectoryInfo(LD);
                    if (directoryInfo.Exists)
                    {
                        DirectoryInfo[] Dir = directoryInfo.GetDirectories();
                        foreach (DirectoryInfo dir in Dir)
                        {
                            try
                            {
                                // ищем во всех папках
                                FileInfo[] fileInfos = dir.GetFiles("*.*", SearchOption.AllDirectories);
                                foreach (FileInfo fi in fileInfos)
                                {
 
                                    // выполняем нужное действие
 
                                }
                            }
                            catch { }
 
                        }
                    }
                }
                catch { }
            }
1
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 8
12.08.2011, 20:17  [ТС]
Благодарю за ответы. Тему можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.08.2011, 20:17
Помогаю со студенческими работами здесь

Создание директорий и файлов
Directory.CreateDirectory(&quot;Main&quot;); Ребят я создаю папку Main но как мне написать код чтобы в Main создавался txt? ...

По данному списку файлов составьте список всех директорий
Прошу помочь с заданием выполняемым на одной тестовой площадке, где основная часть программы скрыта: &quot; Список директорий ...

Перебор файлов в папках
try { List&lt;string&gt; Picture = new List&lt;string&gt;(); List&lt;string&gt; PaThS = new List&lt;string&gt;(); string SVF = { ...

Перебор файлов по дате
Доброго времени суток! Есть задача, но пока не могу добиться результата в ее реализации. Имеется каталог файлов за два месяца(каждый...

Перебор файлов и борьба с повторениями
Здравствуйте, У меня в папке лежат файлы с такими именами : test1.xlsx , test2.xlsx , test3.xlsx --особенность файлов в том, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru