Понедельник, 09 Декабря 2024, 23:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Поиск файлов в подпапках
D9TEJI=DДата: Понедельник, 04 Апреля 2011, 14:56 | Сообщение # 1
частый гость
Сейчас нет на сайте

Я вот делаю свой vbs-bat антивирус. Ну и захотелось мне, значит, сделать реал-тайм проверку. Но вот проблема: кодом file_find_first() он ищет только в указанной директории, но не подпапках. Где-то была выложена ссылка на пример такого поиска, но увы она была битой.
В гугль не посылать - по моему вопросу не было найдено ничего нужного.
AGENTX001Дата: Понедельник, 04 Апреля 2011, 15:56 | Сообщение # 2
почётный гцупер
Сейчас нет на сайте
Сделай цикл, в котором определяй все подпапки, и по очереди открывает их, а далее уже
Quote (D9TEJI=D)
file_find_first()
stalkeryaДата: Понедельник, 04 Апреля 2011, 16:13 | Сообщение # 3
Пользователь Blender 2.5
Сейчас нет на сайте
C:/program files/и т.д. Попробуй так.

Бросила девушка после того, как узнала, что я перешел с гм на Construct.
D9TEJI=DДата: Понедельник, 04 Апреля 2011, 19:24 | Сообщение # 4
частый гость
Сейчас нет на сайте
Quote (AGENTX001)
Сделай цикл, в котором определяй все подпапки

И каким же макаром я буду определять все подпапки?

Quote (stalkerya)
C:/program files/и т.д. Попробуй так.

Основные-то я могу перечислить, но ведь вирусы могут скрываться в очень хитрых местах, а подпапок-то сколько надо будет прописывать! Мне нужно именно получать все подпапки заданной директории, затем получать их подпапки, затем подпапки этих подпапок и.т.д., а затем все-все директории записать в список, и в каждой папке искать вирусы. Вот так вот.
stalkeryaДата: Понедельник, 04 Апреля 2011, 20:04 | Сообщение # 5
Пользователь Blender 2.5
Сейчас нет на сайте
D9TEJI=D, На гм стоящий антивирус не напишешь. Game maker не предназначен для написания антивирусов. Для таких случаев нужно использовать C+/C#.

Бросила девушка после того, как узнала, что я перешел с гм на Construct.
D9TEJI=DДата: Понедельник, 04 Апреля 2011, 21:07 | Сообщение # 6
частый гость
Сейчас нет на сайте
Quote (D9TEJI=D)
Я вот делаю свой vbs-bat антивирус.

Первое сообщение читал? Алгоритм проверки этих файлов я давно придумал и реализовал. Вчера добавил чтение баз из внешнего источника и их обновление.
QvantДата: Понедельник, 04 Апреля 2011, 22:50 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
D9TEJI=D, file_find_first("*",fa_directory ) ищет папки аналогично как и файлы , а дальше загоняем папки в стек и в каждой из этих папок извлекаем файлы.

Вот пример кода поиска картинок во всех директориях входящих в gfx\, правда там немного мусора

D9TEJI=DДата: Понедельник, 04 Апреля 2011, 23:22 | Сообщение # 8
частый гость
Сейчас нет на сайте
Он мне вместе с папками выдаёт ещё и файлы =(
Как исправить? Как сделать поиск подпапок в этих папках неограниченное количество раз?
И ещё, как сделать поиск папок, пока они вообще существуют? repeat не катит, ибо количество папок мы не знаем.

Говорить, что всё это есть в твоём примере кода не надо:
1. результата при работе данного кода кроме вылета приложения не вижу.
2. в коде разобрать ничего не смог.

Сообщение отредактировал D9TEJI=D - Понедельник, 04 Апреля 2011, 23:34
QvantДата: Понедельник, 04 Апреля 2011, 23:37 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
Quote (D9TEJI=D)
выдаёт ещё и файлы =(

ds_stack_push(stack,pach)// это диретория
i +=1
}
else
убри что после этого "else"

Quote (D9TEJI=D)
поиск подпапок в этих папках неограниченное количество раз?

так там и есть - каждая новая папка загружается в стек , если обнаружена папка в текущей папке то тоже в стек и так далее...

Quote (D9TEJI=D)
ещё, как сделать поиск эти папок, пока они вообще существуют? repeat не катит, ибо количество папок мы не знаем?

while (ds_stack_size(stack) != 0) папки загружаются в стек и извлекаются по одной - пока стек не опустеет это делается - поэтому все папки во вложенных папках мы обрабатываем
D9TEJI=DДата: Понедельник, 04 Апреля 2011, 23:41 | Сообщение # 10
частый гость
Сейчас нет на сайте
Ладно, буду пробовать выдирать куски из кода. Спасибо за помощь, плюс сейчас поставлю.
А вообще, я не против, если кто-нибудь ещё предложит какой-либо метод.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг