Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Ru.Board » Общие вопросы по Ru.Board » Где спросить?

Модерирует : batva, DimoN

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

Открыть новую тему     Написать ответ в эту тему

Shershen



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Где спросить
путеводитель по Руборду

 
   У вас есть вопрос, вы считаете, что можно получить на него ответ на Руборде, но не знаете, где именно на Руборде. Если так, то эта ветка для вас.
 
    Общее для всех веб-форумов и иных публичных мест условие получения грамотного, полезного вам и, по возможности, оперативного ответа — обращение с вопросом по уместному адресу [1].
    Отличие Руборда от многих форумов и списков рассылок, где принят принцип «один вопрос — одна нить (thread)», заключается в том, что довольно широкий круг вопросов, заданных разными людьми, может обсуждаться одной нитью. Таким образом, для того, чтоб ваш вопрос не остался без ответа, выбрать субфорум недостаточно, нужно правильно выбрать еще и ветку в этом субфоруме.
 
    Этому, помимо поиска фильтром и гуглом, могут помочь т. н. «карты» форумов:
 
Мета:
· Помощь по Руборду
· Тестирование
 
Операционные системы:
· Microsoft Windows
· UNIX
 
«Железо»:
· Выбор железа
· Видеосистема (графкарты, мониторы и ко.)
· Драйверы и прошивки BIOS
· Ремонт жестких дисков
 
Игры:
· Военные стратегии
· Экономические стратегии
· Стратегии в разработке
· Квесты
· Fantasy RPG
· RPG в разработке
· Симуляторы
· Спортивные игры
· Небольшие интересные игры
· Форумные игры
 
А также:  
· Музыка и кино
· Игры и фильмы  
· Техническая, научная, учебная и т. п. литература
 
 
Однако, как хорошо видно, они есть не во всех форумах, далеко не всегда полны и не всегда актуальны. Поэтому, возможно, вы и с их помощью не найдете нужной ветки.
Если так случилось — где лучше спрашивать, вы не поняли (или сомневаетесь) — не стесняясь, спрашивайте здесь. Мы попробуем указать вам верное направление. Обобщать и упрощать при этом не надо, задавайте ваш вопрос полностью — это и вам проще, и нам.
 

Смело правьте и дополняйте шапку, однако не забывайте отписываться об исправлениях и сохранять в своем посте под [#] исходный вариант.

Первое сообщение изначально имело вид...

Всего записей: 66 | Зарегистр. 28-04-2003 | Отправлено: 15:46 14-08-2004 | Исправлено: Akam1, 08:08 09-06-2018
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail
Цитата:
надо найти какие файлы в этих директориях НЕ ДУБЛИРОВАННЫЕ
..если надо под вендой и без лишней "математики" - покури в том же тотал-командире фичу синхронизации папок..  

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 13157 | Зарегистр. 07-06-2006 | Отправлено: 07:04 29-12-2016
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail  29-12-2016

Цитата:
не нашел где спросить и как сделать.

Да хоть здесь или даже лучше здесь

Цитата:
надо найти какие файлы в этих директориях НЕ ДУБЛИРОВАННЫЕ.

А дальше? Найти - легко, только требуется уточнение, что с ними делать, с найденными файлами?
Если переместить в новую папку уникальные файлы - одно, если просто посмотреть и ничего не делать - другое.
И да, нужны совсем уникальные, т.е. не имеющие дубликатов вовсе, либо из дубликатов выбрать один (тут же уточнить по какому критерию, если так)?  
А также уточните - что понимать под дубликатами? Одинаковые только наименования или наименование плюс размер, или даже, может быть, по содержанию тоже требуется сравнение?
В общем, чем подробнее опишете задачу, тем точнее получите решение.

----------
scio me nihil scire

Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 07:54 29-12-2016 | Исправлено: YuS_2, 08:04 29-12-2016
TheBarmaley



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
вангую - товарисч просто хочет найти эти самые уникальные файлы в общей куче..
шоб потом их забэкапить/перенести/удалить - не суть, тут последующая задача не важна..
упор вопроса именно на поиск был - т.е. найти такие, которые не с чем сравнивать..
 
вопчем, сугубое имхо - ТС рулит как самое юзерфрендное решение.. )

----------
..the one of.. ··· ..sam-&-pol..

Всего записей: 13157 | Зарегистр. 07-06-2006 | Отправлено: 08:46 29-12-2016 | Исправлено: TheBarmaley, 08:47 29-12-2016
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheBarmaley

Цитата:
найти такие, которые не с чем сравнивать..

В тоталкоммандере, при всем его юзерфренд, необходимо:
Выделить рекурсивно уникальные файлы, т.е. не имеющие дубликатов в каталоге "A", затем то же самое проделать в каталоге "B", после чего необходимо ещё сравнить и эти два результата... в общем, не совсем тривиальное действие...
А, например, на powershell, это выглядеть будет примерно так:

Код:
function compFname($l1,$l2){
    if($l1 -eq $l2){$i=0}
    else{$i=1}
    $l1|%{
        $sum=0
        foreach($var in $l2.Name){if($_.Name -eq $var){$sum++}}
        if($sum -eq $i){$_}
    }
}
 
$d1 = 'c:\test\1'
$d2 = 'c:\test\2'
$list1 = dir "$d1\*" -recurse -force|where{!$_.PSIsContainer}
$list2 = dir "$d2\*" -recurse -force|where{!$_.PSIsContainer}
 
$a = compFname $list1 $list1
$b = compFname $list2 $list2
(compFname $a $b).fullname

 
Хмм, что-то я отвлекся. Это ведь уже не здесь обсуждать надо...

----------
scio me nihil scire

Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 10:32 29-12-2016
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
YuS_2  А дальше? Найти - легко, только требуется уточнение, что с ними делать, с найденными файлами?  

Цитата:
 TheBarmaley  вопчем, сугубое имхо - ТС рулит как самое юзерфрендное решение..  

Вот после вопроса стал засыпать, и решил что не совсем пояснил вопрос, и синхронизация ТС  здесь не рулит. Проснулся и уточняю.
Проблема возникла так. Есть много уровненный большой архив\директория. На всякий случай, перед его реорганизацией делается копия. И в одной директории файлы перемещаются как сами так и целыми папками, (только) папки переименовываются, дубли файлов удаляются.  
И в конце хотелось бы проверить - а не потерялось что либо в процессе реорганизации архива\директории (т.е. в одной директории файлы есть, а в другой нет, хотя внутри каждой директории файлы в разных папках), и только потом удалить копию.
 
Тут вероятно надо писать скрипт типа как то найти и поместить все файлы одной директории в один список (P.S. в ТС на директории Cntr+B, сортировать по имени, и \Выделение\Сохранить в файл), потом по очереди брать каждый файл из списка, и искать такой же в другой директории.
Но может есть такая программа или готовый скрипт.

Цитата:
YuS_2  А, например, на powershell, это выглядеть будет примерно так:
Делать надо в WinXP

Всего записей: 1131 | Зарегистр. 04-09-2015 | Отправлено: 10:47 29-12-2016 | Исправлено: alex52mail, 14:11 29-12-2016
sergio147



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail,
 
а если в Тотале вывести в двух табах файлы списком как результат поиска?
И потом сравнить эти списки встроенным инструментом Синхронизация каталогов?
 
Или Синхронизация не сработает на этих списках...


----------
Есть многое на свете, друг Гораций,
что неподвластно нашим мудрецам

Всего записей: 2424 | Зарегистр. 28-10-2006 | Отправлено: 11:07 29-12-2016
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail, то есть найти файлы из одной кучи, не встречающиеся в другой?  Что может быть проще, но внезапно даже есть готовая программа — уже упомянутая выше md5deep(1):
 
$ md5deep -r dir2 > dir2.md5deep
$ md5deep -r dir1 -x dir2.md5deep


----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 11:13 29-12-2016 | Исправлено: ASE_DAG, 11:14 29-12-2016
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail  29-12-2016

Цитата:
Делать надо в WinXP

XP SP3 Powershell

----------
scio me nihil scire

Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 11:49 29-12-2016
Germanus



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail
Beyond Compare

Всего записей: 4274 | Зарегистр. 08-06-2003 | Отправлено: 12:03 29-12-2016
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ASE_DAG  Если же нет — вы говорите именно о поиске дубликатов среди кучи файлов, почему-то разделенной тем не менее по двум каталогам, то как-то так, наверное:
 
$ md5deep -r dir1 dir2 | sort | uniq -w 32 -c | awk '$1 == 1 { print $3 }'
Надо именно в смешанной куче найти НЕ ДУБЛИКАТЫ в целом по директории, когда в 2х директориях файлы в разных (в т.ч. по имени) папках,  и потом решить что с ними делать.
 
Хотелось бы средствами WinXP. Нет установленного Linux. Но если ваше работает для НЕ ДУБЛИКАТОВ, то загружусь в Linux образы, и к тому же 12МВ TinyCore-current.iso можно подгрузить   md5deep если его там нет. Но в Linux дольше (не говорю сложнее) монтировать, прописывать пути.
 
md5deep найдет НЕ ДУБЛИКАТЫ ?

Всего записей: 1131 | Зарегистр. 04-09-2015 | Отправлено: 12:15 29-12-2016 | Исправлено: alex52mail, 14:06 29-12-2016
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail
Ставьте, ё-моё, powershell - не раз ещё пригодится. Тем более, что Ваша задача, после уточнений:

Цитата:
на директории Cntr+B, сортировать по имени, и \Выделение\Сохранить в файл), потом по очереди брать каждый файл из списка, и искать такой же в другой директории.

на самом деле, проще, чем кажется :

Код:
$d1 = 'c:\TEST\1'
$d2 = 'c:\TEST\2'
$list1 = dir "$d1\*" -recurse -force|where{!$_.PSIsContainer}
$list2 = dir "$d2\*" -recurse -force|where{!$_.PSIsContainer}
 
diff $list1 $list2 -prop Name -PassThru|sort -prop fullname|ft -prop FullName  -HideTableHeaders -auto

Выведет, что требуется и куда требуется - хоть в текст, хоть в отдельный каталог, куда фантазия, в общем прикажет ... да и свойство любое, довольно просто, можно вытащить из объекта(файла)...

----------
scio me nihil scire

Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 12:46 29-12-2016 | Исправлено: YuS_2, 12:50 29-12-2016
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 YuS_2  Ставьте, ё-моё, powershell - не раз ещё пригодится. Тем более, что Ваша задача, после уточнений:
Спасибо, буду иметь ввиду для других компов, но сейчас не подходит, т.к. делается на стареньком компе, и powershell  WindowsXP-KB968930-x86-ENG требует еще не нужный здесь отсутствующий .NET
Решение надо проще. Разбираюсь пока с BCompare-4.1.9.21719, не выйдет буду смотреть на md5deep

Всего записей: 1131 | Зарегистр. 04-09-2015 | Отправлено: 13:07 29-12-2016 | Исправлено: alex52mail, 13:12 29-12-2016
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail

Цитата:
Решение надо проще.

Т.е. если я правильно понял:
 29-12-2016

Цитата:
перед его реорганизацией делается копия. И в одной директории файлы перемещаются как сами так и целыми папками, (только) папки переименовываются, дубли файлов удаляются.


Цитата:
в конце хотелось бы проверить - а не потерялось что либо в процессе реорганизации архива\директории (т.е. в одной директории файлы есть, а в другой нет, хотя внутри каждой директории файлы в разных папках), и только потом удалить копию.

А чем не устраивает вариант с тоталкомандером?
Ctrl+B слева, затем Ctrl+B справа, затем Shift+F2 - будут выделены уникальные файлы и с одной стороны и с другой, причем всё это с рекурсией...
Имхо, для сравнения скопированного - вполне приемлемо.

Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 19:06 29-12-2016
Germanus



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail

Цитата:
Разбираюсь пока с BCompare

Как я это делаю:
1. Вызов Beyond Compare подвешен в SpeedCommander-e на сочетание Ctrl+Shift+C с передачей в параметрах папок в активной и неактивной панелях.
2. Выбираю нужную папку справа,  
3. Выбираю нужную папку слева
4. Ctrl+Shift+C - открывается BC с нужными уже папками (курсор при этом, для отсутствия путаницы, конечно же стоит слева)
5. В сессии по умолчанию заранее настроены интересующие меня параметры сравнения.
6. произвожу необходимые действия в BC
7 Выход по Esc
 
При определенной практике - скорость, более чем удовлетворительная.
 
Минус в том, что BC не умеет сравнивать содержимое внутренностей папок, если на правой и левой панелях разные по именам папки. Если у вас такой случай, то либо вам эта техника не подойдет в принципе, либо придется каждый раз выбирать на панелях нужные папки и вызывать BC.

Всего записей: 4274 | Зарегистр. 08-06-2003 | Отправлено: 19:53 29-12-2016
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 Germanus  Минус в том, что BC не умеет сравнивать содержимое внутренностей папок, если на правой и левой панелях разные по именам папки. Если у вас такой случай, то либо вам эта техника не подойдет в принципе,  
Да, именно такой случай. Провозился с BC с час, но не нашел себе решения.
Цитата:
 YuS_2   А чем не устраивает вариант с тоталкомандером?
Ctrl+B слева, затем Ctrl+B справа, затем Shift+F2 - будут выделены уникальные файлы и с одной стороны и с другой, причем всё это с рекурсией...
Имхо, для сравнения скопированного - вполне приемлемо.  
Да тем, что не дошел до этого сам - не успел еще перепробовать все варианты с ТС, когда обычная синхронизация действительно здесь не рулит.  
Действительно, как девиз моего канала ЛЮБАЯ ПРОБЛЕМА ИМЕЕТ ПРОСТОЕ РЕШЕНИЕ !!!
 
Для проверки наличия  или отсутствия одинаковых файлов в двух директориях в целом, даже если файлы в РАЗНЫХ вложенных папках как по месту, так и по имени,  в тоталкомандер с обоих сторон Ctrl+B в открытых директориях покажет ВСЕ файлы.
\Выделение\Сравнить каталоги\ == Shift+F2 или  \Выделение\Сравнить, скрыв одинаковые файлы\
Открытый Ctrl+B список рекурсивно не синхронизируется\копируется, но можно  \Выделение\Сохранить_в_файл\ - сохранить полные пути выделенных файлов в файл, и далее дело техники что с ними делать - просмотреть, просто или рекурсивно копировать сначала в другое место, типа читая построчно файл со списком,  и копируя файл этой строки
Код:
@echo of
 
set flist=%~1%  
echo flist ==== %flist%
for /F   %%i in (%flist%) do copy %%i  c:\tmp\%%i
Спасибо - проблема решена просто.

Всего записей: 1131 | Зарегистр. 04-09-2015 | Отправлено: 23:43 29-12-2016 | Исправлено: alex52mail, 17:34 30-12-2016
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex52mail
>> $ md5deep -r dir1 dir2 | sort | uniq -w 32 -c | awk '$1 == 1 { print $3 }'
> Надо именно в смешанной куче найти НЕ ДУБЛИКАТЫ
> md5deep найдет НЕ ДУБЛИКАТЫ?
 
Чего кричим?  md5deep(1) — нет, весь этот костыль, что я вам написал, — да.
 
> Хотелось бы средствами WinXP.  
 
Тогда обратитесь в ветку по написанию программ на VBScript / JScript или на языке cmd.exe.
 
> Нет установленного Linux.
 
Что?  Откуда у вас Linux® взялся?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:30 30-12-2016
emx



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вы тут оффтопом увлеклись чрезмерно :\

----------
Corruptissima re publica plurimae leges.
ТА! | Изыдите...

Всего записей: 11497 | Зарегистр. 05-06-2002 | Отправлено: 00:18 31-12-2016
tramparamparam02



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, а по Android OS у нас на форуме вообще совсем ничего нет? Как-то странно это, учитывая долю этих устройств на рынке.

Всего записей: 2014 | Зарегистр. 30-03-2016 | Отправлено: 12:28 10-03-2017
Aleks78



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Общая тема есть.

----------
Кешбек на Али до 15%
Digma — лауреат премии pc magazine.

Всего записей: 19197 | Зарегистр. 18-12-2004 | Отправлено: 12:33 10-03-2017
ALeXkRU



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tramparamparam02
ну, не то чтобы совсем...есть

Всего записей: 11197 | Зарегистр. 03-12-2003 | Отправлено: 12:34 10-03-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

Компьютерный форум Ru.Board » Ru.Board » Общие вопросы по Ru.Board » Где спросить?


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru