Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
__PION__
954 / 795 / 12
Регистрация: 21.07.2010
Сообщений: 3,521
#1

Удаление некоторых файлов с диска - C++

12.12.2013, 19:44. Просмотров 856. Ответов 10
Метки нет (Все метки)

Возникла такая задача -
есть сервак с ~ 50 Т всякого рода медиа-файлов (.vob (в этом случае может быть папка VIDEO_TS), .avi, .mp3, .flv ...).
Во всей этой куче есть одна нехорошесть - некоторые файлы повторяются (точнее, содержимое файлов), например, фильм "Thor" может быть как в формате .avi, так и .mpeg, у них разное качество, вес,...
Необходимо удалить все не нужные (повторяющиеся) файлы. Желательно оставляя качественные. Узнать их можно по названиям, например - Thor.avi, Thor.vob, Тор.avi, ...

Я вижу 2 решения:
1) Автоматом проходить по всем папкам (уровень вложений разный), если получится, по ходу их сравнивать (не всегда тяжелый файл означает качественный) и удалять худший.
2) Пробежаться по папкам, найти совпадающие по названию (лат., кирил.) файлы и предоставить админу сделать выбор, выставив список (в всплывающем окне, например) найденных файлов с их характеристиками.

Кроме того, процесс работы проги не должно влиять на скорость и работоспособность системы.

Есть ли такие проги, если нет можно ли такое написать и сколько примерно это будет стоить?

да, забыл, исполнение может быть на любом языке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 19:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление некоторых файлов с диска (C++):

Удаление файлов: типы и способы - C++
Здравствуйте. Подозреваю что существует несколько методов удаления файлов. Удаление без изменения области памяти в которой хранилось что...

Автоматическое удаление файла с съемного диска - C++ Builder
Здравствуйте!Мне нужно написать программу которая при подключении съемного диска будет автоматом с его удалять файл .*txt Как я понимаю...

Ограничение копирования файлов по типу с жесткого диска на флешку - C++ Builder
вообще не представляю как это реализовать на Билдере :( что то подсказывает что надо как то на уровне драйвера это делается. Как нибудь...

удаление файлов - C++ Builder
Помогите написать программу в которорой задается имя каталога и тип файлов, подлежащих удалению. вот пытался так удалить но у меня не...

Удаление пустых файлов - C++ Builder
Доброго времени суток . Очень не стандартная ситуация Цель программы - удалить с папки файлы которые 0 байт Все просто и с этой...

Програмное удаление файлов - C++ Builder
Подскажите пожалуйста как програмно удалить файлы определенного формата в определенной папке

10
__PION__
954 / 795 / 12
Регистрация: 21.07.2010
Сообщений: 3,521
14.12.2013, 03:38  [ТС] #2
странная реакция.. у СИ'шников
0
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
14.12.2013, 04:19 #3
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
и предоставить админу сделать выбор
Почти решением может быть (медийный) каталогизатор, умеюший извлекать характеристики видеофайлов: отсортировать в нем все найденное и удалить дубликаты вручную.

Посмотрите, например, WhereIsIt - таких немало, как вариант можно автоматически распарсить отчет программы итд.

В любом случае, без создания полной базы файлов, дубликаты не найти, а хранение еще и параметров не так уж сильно скажется на общем размере и времени работы. Остальное можно сделать даже каким-нибудь скриптом.
1
__PION__
954 / 795 / 12
Регистрация: 21.07.2010
Сообщений: 3,521
14.12.2013, 18:26  [ТС] #4
Цитата Сообщение от gazlan Посмотреть сообщение
В любом случае, без создания полной базы файлов, дубликаты не найти
gazlan, о какой базе идет речь? Чтобы воспользоваться прогой, которую ты посоветовал, нужно еще что-то сделать?
0
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
14.12.2013, 19:01 #5
Очевидно, речь идет о списке (базе) всех видеофайлов с их атрибутами. Полная задача может быть разбита на три:
1. Создание базы файлов
2. Поиск дубликатов
3. Выбор и удаление

Каталогизатор оптимизирован для решения первой задачи и (в "ручном режиме") может быть использован для двух оставшихся.
0
__PION__
954 / 795 / 12
Регистрация: 21.07.2010
Сообщений: 3,521
14.12.2013, 20:06  [ТС] #6
Цитата Сообщение от gazlan Посмотреть сообщение
1. Создание базы файлов
так файлы уже есть, почти всю память занимают (~ 50 T)
Цитата Сообщение от gazlan Посмотреть сообщение
и (в "ручном режиме") может быть использован для двух оставшихся.
так и без этой проги можно вручную находить, сравнивать и удалять файлы, но это такая ж.
или я чего-то не понял?
База файлов, это то же самое, что просто файлы на диске (например, на диске D: ) или что-то другое?
0
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
14.12.2013, 21:03 #7
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
База файлов, это то же самое, что просто файлы на диске
Другое. К тому же база имен будет на порядки меньше по размеру, чем набор дисковых медиафайлов.

То есть, файловая система - это, разумеется, DB, но DB каталогизатора обеспечивает другие удобные возможности, в частности сортировку по имени файла без учета пути, хранение атрибутов медиафайлов итп.

Кроме того, каталогизатор уже оптимизирован под сканирование, поиск и хранение, нет нужды думать об этой части работы. Но поиск дубликатов, обычно, не предусмотрен, поэтому создав базу, придется сгенерировать текстовый отчет - сортированный список, с указанием нужных реквизитов, включая полный путь к файлу.

Создание такого списка - первый этап любой обработки. Как именно вы его получите - неважно, но если воспользоваться готовым каталогизатором, то вам не придется писать и отлаживать этот код.

Имея сортированный список, легко получить из него список дубликатов.

Иными словами, готовая программа сканирования диска может избавить вас от большей части работы.
1
__PION__
954 / 795 / 12
Регистрация: 21.07.2010
Сообщений: 3,521
16.12.2013, 02:39  [ТС] #8
Цитата Сообщение от gazlan Посмотреть сообщение
придется сгенерировать текстовый отчет - сортированный список, с указанием нужных реквизитов, включая полный путь к файлу.
текстовый отчет генерирует каталогизатор или как-то отдельно нужно это делать, если отдельно, то как? И где он хранится?
0
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
16.12.2013, 04:39 #9
Смотря что найдете. Обычно, есть опции генерации отчета в ASCII/HTML... может быть еще с полдюжины других форматов. Читайте справку по выбранной программе, обычно, это либо пункт меню Report, либо Export.
1
volodin661
815 / 716 / 113
Регистрация: 10.12.2013
Сообщений: 2,480
16.12.2013, 05:00 #10
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Возникла такая задача -
есть сервак с ~ 50 Т всякого рода медиа-файлов (.vob (в этом случае может быть папка VIDEO_TS), .avi, .mp3, .flv ...).
Во всей этой куче есть одна нехорошесть - некоторые файлы повторяются (точнее, содержимое файлов), например, фильм "Thor" может быть как в формате .avi, так и .mpeg, у них разное качество, вес,...
Необходимо удалить все не нужные (повторяющиеся) файлы. Желательно оставляя качественные. Узнать их можно по названиям, например - Thor.avi, Thor.vob, Тор.avi, ...

Я вижу 2 решения:
1) Автоматом проходить по всем папкам (уровень вложений разный), если получится, по ходу их сравнивать (не всегда тяжелый файл означает качественный) и удалять худший.
2) Пробежаться по папкам, найти совпадающие по названию (лат., кирил.) файлы и предоставить админу сделать выбор, выставив список (в всплывающем окне, например) найденных файлов с их характеристиками.

Кроме того, процесс работы проги не должно влиять на скорость и работоспособность системы.

Есть ли такие проги, если нет можно ли такое написать и сколько примерно это будет стоить?


да, забыл, исполнение может быть на любом языке

Есть ли такие проги, если нет можно ли такое написать и сколько примерно это будет стоить?
НЕДОРОГО.

Если пришлёшь листинг каталогов, то задача по оценке сильно упростится

А использовать, как советовали, каталогизатор с возможностью отчётов и последующее их распарсивание - здравая идея.
1
__PION__
954 / 795 / 12
Регистрация: 21.07.2010
Сообщений: 3,521
16.12.2013, 11:37  [ТС] #11
я вот, тоже думаю сначала попробовать каталогизатор, если не понравится, уже заказать прогу, которая решает эту проблему.
Не совсем пойму этот момент
Цитата Сообщение от volodin661 Посмотреть сообщение
с возможностью отчётов и последующее их распарсивание
отчеты пишет и парсит (куда он их парсит и для чего) сам каталогизатор или я должен другую программу для этого использовать?

Добавлено через 3 минуты
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
отчеты пишет и парсит (куда он их парсит и для чего) сам каталогизатор или я должен другую программу для этого использовать?
не заметил последний комментарий gazlan
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 11:37
Привет! Вот еще темы с ответами:

Гарантированное удаление файлов - C++ Builder
Помогите, пожалуйста, с курсовой работой. Необходимо разработать консольное Windows-приложение для гарантированного уничтожения заданного...

Удаление файлов по маске - C++ Builder
Вот есть код который { AnsiString DirPath = Edit1->Text; TStringList* ToDel = new TStringList(); ...

Удаление скрытых файлов - C++ Builder
#include <System.IOUtils.hpp> if(TDirectory::Exists("%ProgramData%\\MP")) TDirectory::Delete("%ProgramData%\\MP", true);//Папка удаляться...

Удаление файлов в дирректории с исключением - C++ Builder
подскажите как реализовать данную функцию , в дирректории две папки 1 и 2, рядом с ними создаются другие папки и файлы, надо чтоб в один...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
16.12.2013, 11:37
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru