|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите в решении проблемки!
Доброго времени суток всем.
Есть две дериктории с поддерикториями (D:\in\1\*.* D:\out\1\*.*). Пускай (D:\in\1\*.*) будет еталоном! На каждом уровне лежат файлы с различными расширениями. Нужно определить: 1. каких файлов нехватает в (D:\out\1\*.*) 2. какие файлы в (D:\out\1\*.*) имеют разницу с (D:\in\1\*.*) в размере и дате записи на диск. список файлов (1. и 2.) должен вывалится с полным путем. Кто может подскажите свое видение решения этой проблемы! Буду очень благодарен. |
#2
|
||||
|
||||
Не так давно тут проходил конкурс на весьма похожую тему. Загляните в раздел Конкурсы.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
ну не совсем.
В общем, все делается на основе FindFirst/FindNext/FindClose и каких-нить списков. По сути, что ты должен сделать. 1. Считать файловую структуру эталона. 2. Считать файловую структуру проверяемой папки. На этот момент мы имеем 2 списка (на самом деле объектики там посложнее будут), в которых находлятся все нужные нам для сравнения данные. 3. Сначала проверяем файлы в проверяемой папке против эталона (Если в эталоне нет такого файла, то он новый; Если файл новее, то он обновился; Если старее, то обновился эталон). 4. Теперь проверяем удаленные файлы. Т.е. провеяем наличие файла из эталона в проверяемой папке. Если такого файла нет, то он был удален. В результате проверок мы расставим некоторые флажки для каждого элемента полученных после шагов 1 и 2 списков. Ну а как это дело вывести - смотри сам. |