Первый Нижегородский АвтоФорум (Архив)  

Вернуться   Первый Нижегородский АвтоФорум (Архив) > Форумы неавтомобильной тематики > Компьютерный
Нижегородский АвтоПортал (Архив) Справка Галереи Участники Автовзаимопомощь Календарь Поиск Сообщения за день Все разделы прочитаны

Последние сообщения с Пейджера. Показать все
За последнее время сообщений нет.
Внимание! Это архив форума.
Это архив форума и доступен в режиме "только чтение". Текущий форум находится по старому адресу www.autoforum.pro.
Компьютерный Для компьютерщиков за рулем, ну или для водил за компьютером.Обсуждения Crack'ов Keygen'ов и пиратского софта строго запрещены.

 
Опции темы Поиск в этой теме Опции просмотра
 
Старый 22-03-2012, 10:28 Вопрос по массовой сверке-замене файлов-папок   #1
forvard
Старожил
Вопрос по массовой сверке-замене файлов-папок, подскажите плз кто в теме. Терминология вопроса хромает для наглядности

Дано:
Папки А и В, внутри каждой по паре тысяч подпапок, в подпапках файлы. Файлы в подпапках В частично дублируют файлы в подпапках А (по названию, содержимому, размеру).

Нужно:
Оставить в папке В только те подпапки, файлы внутри которых не дублируют файлы в подпапках А (т.е. если файл в подпапке В совпадает с файлом в подпапке А, то подпапка В удаляется целиком)

Как выполнить такую задачу «массово»? С удалением именно подпапок В, не трогая файлы-подпапки в А. Ориентировочное количество дублей около 500 (вручную ставить «галки» не лучший вариант).
forvard вне форума  
 
Старый 22-03-2012, 11:13   #2
wsdx
Матерый
Нужно садиться и писать код. Я не встречал кнопку "сделать песд@то хорошо" для такой задачи.
__________________
Cualquiera se puede equivocar, inclusive yo.
wsdx вне форума  
 
Старый 22-03-2012, 11:23   #3
sychnn
Постоянный посетитель
Beyond Compare так не умеет?
__________________
Всё для человеков, а то для кого ж ещё? Не для нас же, маленьких и зеленых!
sychnn вне форума  
 
Старый 22-03-2012, 11:28   #4
woodpecker666
Матерый
помнится, в тотал коммандере была функция сравнения содержимого....
__________________
только коммунизм! только хардкор!
woodpecker666 вне форума  
 
Старый 22-03-2012, 12:17   #5
Автолюбитель
Завсегдатай
Т. е. алгоритм получается следующий?

Пока не закончатся все файлы в папке Б:
Берём файл из папки Б и ищем его копию среди всех файлов в папке А
Если копия нашлась, удаляем целиком ту подпапку в которой лежит файл
Переходим к следующему файлу в папке Б
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 22-03-2012, 12:36   #6
int_surfer
Матерый
я для таких вещей в винде держу sygwin - ничего лучше bash'a пока не придумано.
__________________
красная машина - первый шаг к Феррари!
int_surfer вне форума  
 
Старый 22-03-2012, 16:44   #7
forvard
Старожил
Истинно так
В итоге в Б должны остаться только папки без дублей с А
forvard вне форума  
 
Старый 22-03-2012, 12:41   #8
Romshtex
Матерый
Если на винде, то можно скачать winmerge с http://winmerge.org/ и сравнить каталоги. Сортируешь по "Comparison result" выделяешь с шифтом все файлы, которые идентичны в обоих каталогах, и удаляешь их (там в меню по правой кнопке мыши на них выбираешь Delete->Left или Delete->Right соответственно той из сравниваемых папок, из которой надо удалить).
Потом остаётся только удалить пустые подпапки, но это более общая задача - можно скриптом, например.
__________________
Волков бояться - в лес не ходить.
Romshtex вне форума  
 
Старый 22-03-2012, 12:44   #9
wsdx
Матерый
Как всегда не читал толком, не вникал и в результате написал херню.
__________________
Cualquiera se puede equivocar, inclusive yo.
wsdx вне форума  
 
Старый 22-03-2012, 12:47   #10
Romshtex
Матерый
Цитата:
Сообщение от wsdx
Как всегда не читал толком, не вникал и в результате написал херню.
Ты к себе слишком критичен. Просто будь внимательнее.
__________________
Волков бояться - в лес не ходить.
Romshtex вне форума  
 
Старый 22-03-2012, 12:48   #11
wsdx
Матерый
:facepalm:
__________________
Cualquiera se puede equivocar, inclusive yo.
wsdx вне форума  
 
Старый 22-03-2012, 17:10   #12
MadM
Старожил
проще нужно смотреть на вещи.
создаешь папку С копируешь туда все с папок А и Б
грохаешь папки А и Б
получаешь свалку С но без лишних дублей
MadM вне форума  
 
Старый 22-03-2012, 17:35   #13
wsdx
Матерый
Прочитай еще раз стартовый пост.
__________________
Cualquiera se puede equivocar, inclusive yo.
wsdx вне форума  
 
Старый 22-03-2012, 17:53   #14
MadM
Старожил
все зависит от серьезности самой задачи. если только почистить хлам - это одно. если высвободить место занятое на данный момент на 99% - это другое

в первом и так сойдет
во втором только писать код
MadM вне форума  
 
Старый 24-03-2012, 17:38   #15
wsdx
Матерый
Как быть с третьим случаем, когда подобная реорганизация нужна для, например, корректной работы некой важной софтины, поддерживающей ключевой бизнес процесс? Или не ключевой, но не менее важный.
__________________
Cualquiera se puede equivocar, inclusive yo.
wsdx вне форума  
 
Старый 23-03-2012, 07:58   #16
Alex Arc
Завсегдатай
Пока wsdx код пишет, поищи програмку Delete Duplicates Files - прямо так и называется. А вообще, по этой строке ещё пара программ вылезет. Качай и пробуй.
__________________
Просто я работаю волшебником...
Alex Arc вне форума  
 
Старый 24-03-2012, 17:41   #17
wsdx
Матерый
Пока Alex Arc и Ко учятся читать, ты найди какого-нить знакомого программера, который тебе этот простой код напишет минут за 20 с тестированием и за пару бутылок пива. Могу, конечно, и я написать, но быстро не рассчитывай - со временем у меня последнее время так себе со свободным.
__________________
Cualquiera se puede equivocar, inclusive yo.
wsdx вне форума  
 
Старый 24-03-2012, 14:18   #18
Lex
Матерый
Цитата:
Сообщение от forvard
Оставить в папке В только те подпапки, файлы внутри которых не дублируют файлы в подпапках А (т.е. если файл в подпапке В совпадает с файлом в подпапке А, то подпапка В удаляется целиком).
а на ОСТАЛЬНЫЕ НЕдублирующиеся файлы в этой подпапке пох? Т.е. ХОТЬ один файл дублируется в подпапке - ВСЮ плдпапку нах?
В любом случае я б ТоталСоммандер поюзал
Или через "синхронизацию файлов", или тупо вывести файлы без каталогов в обе панели и сравнить (дубли в В удалить)
Lex вне форума  


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +4, время: 20:53.


vBulletin v3.5.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Хостинг предоставлен компанией ТТК