Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Создание Symlink с близнецов, в местах удаления дубликатов
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Thu Mar 14, 2019 23:20    Post subject: Reply with quote

одинаковые
Flasher wrote:
связанные одним физическим объектом в томе
этот объект -оставленный живым близнец из группы?
Мне не нужен только ХЕШ. МНЕ НУЖНО ИМЯ + ХЕШ. Может оказаться так, что по ХЕШ совпадут разноименные файлы. Групп с одноименными близнецами может оказаться несколько. И ХЕШ у файлов разных групп, будет разный. А имя одно НЕ пойдет этот вариант.
А вот если ИМЯ+ХЕШ -пойдет.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Mar 14, 2019 23:26    Post subject: Reply with quote

Тогда как понимать это:
Чиполлино wrote:
Ей нужно точное имя.Она не подхватит файл, на который был симлинк, если файл имеет другое имя.

Чиполлино wrote:
этот объект -оставленный живым близнец из группы?
Живой остаётся физическая запись на носителе, никаких близнецов нет, есть путевые указания на запись.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Thu Mar 14, 2019 23:40    Post subject: Reply with quote

Flasher wrote:
огда как понимать это:

Должны быть созданы линки на удаленных близнецов, + оставлен один физический объект с точно таким же именем + ХЕШ, и так для каждой группы файлов, одинаковых по ИМЕНИ+ХЕШ
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Mar 14, 2019 23:43    Post subject: Reply with quote

Чиполлино wrote:
с точно таким же именем + ХЕШ
К имени хэш приписать ещё надо? Это зачем?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Thu Mar 14, 2019 23:59    Post subject: Reply with quote

Flasher wrote:
К имени хэш приписать ещё надо?

Файлы Должны совпадать по имени + ХЕШ

Добавлено спустя 2 минуты:

Я делал бы так.
1. Поиск дубликатов по имени+размер+содержимое
2. Файлы на панель.
3. Выделить группы, оставив один файл не выделенным.
4. Инвертировать выделение.
5. Запомнить источник ссылки
И вот тут засада. Как поместить линки вместо не выделенных файлов, да еще и чтоб они оказался на местах одногруппников-близнецов, заменив собой их, я не знаю.
ВОТ ЧТО МНЕ НАДО.

А ваше предложение я бы подкоректировал и выполнил так
1. Поиск дубликатов по имени+размер+содержимое
2. Файлы на панель.
3. Выделить группы, оставив один файл не выделенным.
Заменить выделенные файлы хардлинками. Вот так бы пошло.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Mar 15, 2019 10:11    Post subject: Reply with quote

Чиполлино wrote:
А ваше предложение я бы подкоректировал и выполнил так
Разница с моим вариантом будет только в ухудшенной экономии, а по существу останутся те же файлы, только для разноимённых дубликатов не будет жёстких связей. Т.е. никакого преимущества в запрашиваемом нет.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Fri Mar 15, 2019 23:42    Post subject: Reply with quote

Flasher wrote:
Разница с моим вариантом будет только в ухудшенной экономии

Я писал о втором этапе, не поддающемуся автоматизации. Это борьба с дубликатами по имени, без размера и без ХЕШ. На этом этапе нужны "живые" файлы, а не ссылки. Ваш способ хорош, но при определенных обстоятельствах, не зависимых от нас (зависимых от степени дури производителей материала, с которым придется работать) может затронуть и просто одноименные файлы, найдя для них близнеца по ХЕШ. И ваш метод не оставляет живым хотя бы одного близнеца из группы, как я понял.
Flasher -Вы гений но не Бог. И наверняка ТС тоже е все может. Просто научите меня, как это сделать в ручную. Пусть в несколько этапов. С копированием путей в текстовый файл. Изменением свойства линков. Или чем то подобным. Я не знаю, вы ж намного опытнее.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Mar 16, 2019 02:18    Post subject: Reply with quote

Чиполлино wrote:
Я писал о втором этапе, не поддающемуся автоматизации.
От меня разве поступали предложения без автоматизации?
Чиполлино wrote:
На этом этапе нужны "живые" файлы, а не ссылки.
Я уже в который раз объясняю, что дублирующие жёсткие ссылки — это указатели на один и тот же файл. Сколько можно? Для системы (да и для пользователя) что исходный указатель, что иной — без разницы. Ну, почитайте справку, ей-богу...
Чиполлино wrote:
И ваш метод не оставляет живым хотя бы одного близнеца из группы, как я понял.
Если вообще были попытки хоть что-то понять. См. выше.

Я уже говорил вам в другой теме о неприемлимости высокопарных эпитетов в мой адрес. Учить что-то делать вручную тут я не собирался. Я могу помочь с реальным средством, когда вы наконец разберётесь в сути обсуждаемых вещей и на базе понятого окончательно сформулируете причины не/допустимости тех или иных предложений.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Sat Mar 16, 2019 07:40    Post subject: Reply with quote

Flasher wrote:
дублирующие жёсткие ссылки — это указатели на один и тот же файл

Господи да Вы вообще меня не понимаете видимо.
Нашел ТС поиском 20 файлов с именем "Х", и при этом одинаковых по хеш.
ТС должен удалить все файлы "Х", кроме одного, а в местах удаления оставть, либо симлинки с этого живого "Х",
либо хардлинки. Но не нужно, чтобы ТС искал одинаковые с "Х" файлы, по ХЕШ, но имеющие
другие имена. Не надо такие файлы принимать за близнецов "Х". Если у таких файлов есть дубликаты по
имени + Хеш, ТС должен создать для них свои одноименные ссылки, оставив один живым, так же как и в случае с "Х".
Если таковой порядок действий не возможен, а из Вами-предложенного я понял, что это так, закроем тему.
Я ж писал, что на определенном этапе я удалю все хардлинки или симлинки. И как прога найдет недостающие?
Ну представьте ситуацию, ТС находит файл "А"(один с таким именем), одинаковый по ХЕШ с "Х".
В вашем случае на него создается хардлинк с именем "А" - Правильно? Даю команду Семплеру на просчет файлов. Он увидит линк "А" .
Но после этого я должен удалить все символьные ссылки. Что дальше?
Где я найду ему "А"? Сеплер не полезет за близнецом "Х", он потребует именно имя "А". И даже в моем варианте, он не воспримет симлинк на "Х" как ниточку, ведущую к файлу. При удалении симлинка, он не полезет за оригиналом. Ему по боку. Ему дай файл "Х" в месте симлинка. Мне его в ручную указывать придется. Вы мыслите как должно , а прога мыслит через жопу - простите. Теперь понятно?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Mar 16, 2019 10:58    Post subject: Reply with quote

Чиполлино wrote:
Господи да Вы вообще меня не понимаете видимо.
Всё, что я сейчас понял, это то, что вы без умолку крутите пластинку по 5-му кругу, так и не проявив ни малейшего интереса к латанию образовательных дыр, опять ошибочно примеряя ложные словечки вроде "живой" только в отношении исходной жёсткой ссылки, хотя я вполне ясно писал:
Flasher wrote:
Исходный файл в NTFS — по сути тот же хардлинк.

Flasher wrote:
Они ищут дубликаты по содержимому и заменяют их на хардлинки (без смены имён), связанные одним физическим объектом в томе.
Не путём в метаданных, а физическим объектом.
Flasher wrote:
Живой остаётся физическая запись на носителе, никаких близнецов нет, есть путевые указания на запись.
Исходный путь к файлу — это не близнец, это мета-запись на тот же физический объект, что и у других жёстких ссылок на него.
Flasher wrote:
дублирующие жёсткие ссылки — это указатели на один и тот же файл.
Исходный файл — эта та же дублирующая жёсткая ссылка, в очередной раз повторяю.
Чиполлино wrote:
Если таковой порядок действий не возможен, а из Вами-предложенного я понял, что это так, закроем тему.
Он не невозможен, он в рамках явления хардлинков избыточен. Либо нужно возвращаться к сим..
И уберите "ТС" из нашего диалога. Он сейчас отношения к делу не имеет.


Чиполлино wrote:
Но после этого я должен удалить все символьные ссылки.
Зачем? Цель была в замене, а не удалении. Иначе удалять можно сразу и без вашего участия.
Чиполлино wrote:
Сеплер не полезет за близнецом "Х", он потребует именно имя "А".
Если он ориентируется по пути, то опять же зачем его было удалять? А если нет, то отличить второй хардлинк от исходного он не сможет.
Чиполлино wrote:
И даже в моем варианте, он не воспримет симлинк на "Х" как ниточку, ведущую к файлу. ... Ему дай файл "Х" в месте симлинка.
А мы не обсуждаем сейчас симлинки. Неужели за всё время не было возможности провести эксперимент с парой жёстких ссылок?
Чиполлино wrote:
При удалении симлинка, он не полезет за оригиналом.
Так и не удаляйте.
Чиполлино wrote:
Вы мыслите как должно , а прога мыслит через жопу - простите. Теперь понятно?
Нет. Я не вижу тут никакой ж.., если по пути нет заданного в настройках объекта, то любой программе просто искать будет нечего.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Sat Mar 16, 2019 23:04    Post subject: Reply with quote

Flasher - вы критически относитесь к похвалам в Ваш адрес, может Вы и правы - скромность красит человека.
Однако прошу оставить принятие решения нам-смертным. Это идет из души, если хотите.
"Спасибо" - не пахнет, а на прямой контакт Вы выходите, как я понимаю, только с узким кругом лиц. Но я не об этом.
Обсуждение этой проблемы натолкнуло меня но иной путь решения. Хоть и не глобальное - но решение.
Я сам решаю этот вопрос штатными средствами ТС.
Но есть люди, которые в ТС совсем не шарят.
Для них я прошу Вас сделать автоматизацию, с названием - "КНОПКА ДЛЯ ДУРАКОВ". (пользователь выделяет каталог, и жмет на кнопку)
1.Кнопка запускает поиск в выделенном каталоге, и дальше так:
A) в каталоге нет одноименных файлов - СТОП!!! (прекращение работы кнопки)
B) в каталоге есть одноименные файлы, разные по ХЕШ - СТОП!!
СТОП!!! - желательно с каким либо извещением - уведомлением
Если условия A и B не выполнены переходим к пункту 2.
2. Поиск находит все одинаковые файлы по ИМЯ+РАЗМЕР+СОДЕРЖИМОЕ,
выделяются группы файлов, оставив один файл в каждой группе не выделенным, удаляются выделенные файлы.
и ВСЁ!!!
А на случай, когда одноименные файлы разные по ХЕШ присутствуют, я попробую продумать алгоритм действий, хотя это будет гораздо сложнее.
Но выполнение обеих задач одним заданием не возможно. Я причину писал.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Sat Jul 18, 2020 04:31    Post subject: Reply with quote

Уважаемый Flasher. приветствую.
Возникла ситуация, при которой мне нужен именно Ваш вариант.
"Создание hard link с близнецов, в местах удаления дубликатов" с одним условием:
- hard link должен иметь имя удалённого файла.
Прошу немного пояснений. hard link действует в пределах одного раздела, как написано в описании.
Я приведу пример.
Имеется папка HOME, расположенная на диске D. В этой папке находятся 2 подкаталога с названием 1 и 2.
В подкаталоге 1 лежит файл Х, в подкаталоге 2 - файл Y. Файлы Х и Y имеют одинаковое содержимое.
Создаем hard link с файла Х в папку 2. (имя линка должно быть Y. при этом файл Y удаляется)
А теперь вопрос.
- Если я изменю местоположение папки HOME, перенесу ее на другой диск. то связь будет потеряна?
- Есть ли возможность ограничить связь между линком и близнецом только относительно папки HOME, игнорируя абсолютные пути ?
Если это не возможно, все равно ваш вариант подходит. На сайте есть раздел. где описан процесс группового изменения свойства линков (ярлыков)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Jul 18, 2020 08:13    Post subject: Reply with quote

Чиполлино wrote:
Если это не возможно, все равно ваш вариант подходит.
Салют. Тогда вот пример рекурсии с fdf/x64 для активной папки при пустом пути запуска: %СOMMANDER_PATH%\Utils\fdf.exe -hlqr
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Чиполлино



Joined: 23 Dec 2017
Posts: 62
Location: Орёл

Post (Separately) Posted: Sat Jul 18, 2020 21:11    Post subject: Reply with quote

Flasher wrote:
пример рекурсии

Подскажите дураку. Laughing Laughing Laughing чё мне с этим делать? И что должно быть в TC установлено для работы этого
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Jul 18, 2020 21:48    Post subject: Reply with quote

Чиполлино
Да что угодно в рамках ТС: кнопку, юзеркоманду+хоткей, избранный каталог. И что тут, собственно, может быть "установлено" кроме копирования утилиты в соотв. папку по заданному пути?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group