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

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

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 88 89 90 91

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

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Far Manager
 
   

 
Предыдущие топики:  1 2 3 4 5 6  
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
Шрифт TTF, аналог Terminal 10x18
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
 
Прочее
Портабелизация в FAR 3 плагинов для FAR 1
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2
Отличия FAR 2 от FAR 1.7
 
Примечания
 
* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

 
Принципиальные различия между hard link, symlink и junction
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
Как распаковать UUE/XXE файлы патчей и использовать их?
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

Невыполнение этих правил ведёт к тому, что никто не станет помогать решать вашу задачу.

Всего записей: 38816 | Зарегистр. 26-02-2002 | Отправлено: 12:51 26-09-2022 | Исправлено: Smitis, 19:37 04-12-2023
Prutkovsky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Всё элементарно просто. На определённый носитель несколько человек копируют результаты работы. Корень носителя разветвлён множеством папок и подпапок. И нужно определить в этой массе дубликаты файлов.
 
Чаще всего файлы банально повторяются. Гораздо сложнее, когда имена меняют, а содержание оставляют тем же или почти тем же. Но последнюю задачу, как я понимаю, Ваш скрипт уже не решает?
 
Насчёт моих друзей — Вы их совсем не знаете. Но они часто посещают форумы Фара. И меня соблазнили. Но я решил это делать в более активном режиме.

Всего записей: 13 | Зарегистр. 13-05-2023 | Отправлено: 11:05 14-05-2023
Alexyz21



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

Цитата:
скрипт уже не решает

Верно. Полное совпадение решают утилиты поиска дубликатов на основе совпадения хэш сумм по содержимому. С частичным сложнее - сходу приходит в голову лишь брать начало файлов, например первые (настраиваемый параметр) 4-16КБ, считать по ним хэш и сравнивать с выводом совпавших.

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 11:32 14-05-2023
Prutkovsky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Так может попробуете сделать?
 
Интересно ведь что получится.  
 
И ещё: из меню "Критерий сортировки" скрипт не запускается, а только из панельного макроса. Да и не нужно это, по-моему. По мне, так не плохо бы было бы упростить скрипт.

Всего записей: 13 | Зарегистр. 13-05-2023 | Отправлено: 12:42 14-05-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет, спасибо, не интересно. Скрипт "как есть".

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 13:04 14-05-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Нет. Частичное совпадение фрагментов часто даст ошибку. Например для текста если различаются записанные в начале только названия, фирменные пакеты часто применяют сходный текст строки записи для БД индекса, а адресуемые им данные хранятся на удалённом сервере. Распишитесь и получите - БД индекса копируется  куда угодно ибо "защита отсутствует", но копия бесполезна.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33210 | Зарегистр. 31-07-2002 | Отправлено: 13:12 14-05-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Как я понимаю, скрипт используется для сравнения текстовых файлов, документов ворд. Конечно, если изменили титульное название, или 1-ое предложение, оставив весь остальной текст нетронутым, то результат сравнения будет совпадение 0%, хотя это не так. Алгоритм нужно усложнять. Но заниматься этим некому.

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 13:20 14-05-2023
shmuz

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

Цитата:
Гораздо сложнее, когда имена меняют, а содержание оставляют тем же или почти тем же.  

 
Есть скрипт, который справляется с разными именами и одинаковым содержанием.
(Я им ни разу не пользовался, т.к. у меня есть свой).

Всего записей: 1861 | Зарегистр. 09-03-2012 | Отправлено: 13:49 14-05-2023 | Исправлено: shmuz, 13:50 14-05-2023
Prutkovsky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
Спасибо за информацию. Скрипт весьма полезный и у меня он уже установлен (автор того скрипта очень многоопытный и его работы всегда на примете).  
 
Однако в данном конкретном случае это мне не подходит. Этот скрипт наверняка можно применять когда заведомо знаешь или обоснованно подозреваешь, что на той и на другой папках могут быть дубликаты. Но это весьма редкий случай.
 
У buniak_a_h также есть скрипт, который ищет дубликаты одного конкретного файла. И в определённых случаях он вполне может быть полезным. Но так искать когда не знаешь заранее какие именно файлы в сложном дереве папок задублированы, фактически не реально.  
 
Скрипт, созданный Alexyz21-ом, гораздо удобнее — делаю поиск по всем файлам дерева и по его результатам, во временной панели применяю Panel.SelectDuplicatesFileNames, который быстро выделяет дубликаты.  
 
А Ваш скрипт как работает с дубликатами?

Всего записей: 13 | Зарегистр. 13-05-2023 | Отправлено: 14:36 14-05-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prutkovsky
Мой скрипт работает с двумя панелями, как и скрипт авторства buniak_a_h (мой скрипт был написан хронологически раньше).

Всего записей: 1861 | Зарегистр. 09-03-2012 | Отправлено: 14:51 14-05-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prutkovsky
 
Этот скрипт вызывает Integrity Checker который считает SHA512 - один из немногих хэш алгоритмов для которых не известны случаи "коллизии алгоритма" - ситуации когда два разных бинарных набора дают одинаковый хэш. Для алгоритмов семейств MD4, MD5, SHA1, CRC условия возникновения коллизии известны, а её вероятность в ряде случае может достигать 0,5 что делает их не применимыми.
 
Честного говоря, до момента когда я увидел код скрипта у меня была сходная мысль - вызвать Far.RecursiveSearch(), в калбаке вычислить SHA256, а после сравнить сформированные списки на равенство. Но, раз задача решена воспользуюсь этим решением - зачем дважды время тратить?
 
Добавлено:
Посмотрел скрипт - не то, надо свой писать...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33210 | Зарегистр. 31-07-2002 | Отправлено: 16:04 14-05-2023 | Исправлено: Victor_VG, 18:16 14-05-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prutkovsky
 
Ладно, есть идея, повожусь и добавлю в IntChecker.Run.lua - раз назрела задача, надо решать, а этот скрипт я писал, мне и делать.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33210 | Зарегистр. 31-07-2002 | Отправлено: 18:51 14-05-2023
Prutkovsky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Спасибо.  
Скачал я и испробовал v1.3.2.6 — дубликаты имён находит и очень быстро.
 
Есть и маленький вопрос. В заголовке файла указаны настройки:
 
[ ] Treat digits as numbers
[ ] Case sensitive
 
но в выводимом скриптом диалоге таких нету. Будут ещё изменения?

Всего записей: 13 | Зарегистр. 13-05-2023 | Отправлено: 21:44 14-05-2023 | Исправлено: Prutkovsky, 21:45 14-05-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prutkovsky
Это в системных настройках фара - F9 - System Settings
 

Цитата:
Будут ещё изменения?

Да, добавил опциональный учёт хэшей по целым файлам, на этапе шлифовки, на днях обновлю.

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 22:00 14-05-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prutkovsky
 
Кажется, в ходе решения задачи "Поиск дубликатов с рекурсией" и задача "Поиск одноимённых" решается как промежуточный результат. По крайней мере по моим прикидкам так выходит...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33210 | Зарегистр. 31-07-2002 | Отправлено: 22:46 14-05-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обновил. При [ ] Number of symbols имена могут быть любыми, сравниваются другие отмеченные критерии - размер, хэш, атрибуты.
 
Пример рапорта:
Подробнее...

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 22:53 14-05-2023 | Исправлено: Alexyz21, 22:58 14-05-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prutkovsky
 
Я и забыл - SelectingEx.lua  - макрос "Пометка одинаковых файлов на обоих панелях. © SimSU" из его пакета. Сто лет установлен, так что уже автоматом жму "/" или "Shift-/" для выделения части совпадения имён.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33210 | Зарегистр. 31-07-2002 | Отправлено: 22:59 14-05-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Глядя на сортирвоки итемов в панели, возник вопрос к разработчикам:
 

Код:
struct PluginPanelItem
{
  FILETIME CreationTime;
  FILETIME LastAccessTime;
  FILETIME LastWriteTime;
  FILETIME ChangeTime;
  unsigned __int64 FileSize;
  unsigned __int64 AllocationSize;
  const wchar_t *FileName;
  const wchar_t *AlternateFileName;
  const wchar_t *Description;
  const wchar_t *Owner;
  const wchar_t * const *CustomColumnData;
  size_t CustomColumnNumber;
  PLUGINPANELITEMFLAGS Flags;
  struct
  {
    void *Data;
    FARPANELITEMFREECALLBACK FreeData;
  } UserData;
  uintptr_t FileAttributes;
  uintptr_t NumberOfLinks;
  uintptr_t CRC32;
  intptr_t Reserved[2];
};

 
Возможно ли добавить поле SHA256 и возможность присваивать ему значение из скрипта? Например смотрим поле SHA256 для файла пусто, присваиваем ему значение вычисленное Integrity Checker. Возможно Ariman реализует заполнение для всех итемов панели и добавит соответствующую команду.

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 08:20 15-05-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Счёт и заполнение можно реализовать макросом, только реализация SHA256 в RHash не самый быстрый алгоритм из доступных для которых не известна коллизия алгоритма. Вот тесты на Xeon E5 2697v2 (12 ядер / 24 потока @ 2,7 GHz) на двух машинах:
 
1) Xeon E5 2697v2 / C602J / 64 Gb REG ECC DDR3-1866M (Quad Chanel)
 
Total data size: 1,00 Г
 
CRC32 : 1009 ms, 1015 Мb/s
MD5 : 3164 ms, 324 Мb/s
SHA1 : 5538 ms, 185 Мb/s
SHA-256 : 8229 ms, 124 Мb/s
SHA-512 : 5183 ms, 198 Мb/s
SHA3-512 : 20395 ms, 50,2 Мb/s
Whirlpool : 10667 ms, 96,0 Мb/s
 
2) Xeon E5 2697v2 / C602 / 64 Gb REG ECC DDR3-1866M (Quad Chanel)
 
Total data size: 1,00 Г
 
CRC32 : 920 ms, 1,09 Гb/s
MD5 : 3120 ms, 328 Мb/s
SHA1 : 5508 ms, 186 Мb/s
SHA-256 : 8265 ms, 124 Мb/s
SHA-512 : 5027 ms, 204 Мb/s
SHA3-512 : 20384 ms, 50,2 Мb/s
Whirlpool : 10567 ms, 96,9 Мb/s
 
как видим SHA512 считается за меньшее время и так же не имеет коллизии алгоритма.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33210 | Зарегистр. 31-07-2002 | Отправлено: 08:50 15-05-2023
Pasha_ZZZ



Запрет на пост
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
На рам-диске файл 16 гиг, IntChecker считает SHA-512 за 1 минуту 14 секунд, т.е. 74 секунды.
Примерно 220 МБ/с.
 
Тут же b3sum (BLAKE3) считает 256-битный хэш за 3,81 секунды.
Т.е. уже 4275 МБ/с. Правда в 40 потоков, но разница ощутимая.

Всего записей: 12398 | Зарегистр. 11-03-2002 | Отправлено: 09:25 15-05-2023
Alexyz21



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

Цитата:
если 1-й элемент должен оказаться после прямой сортировки выше 2-го, нужно возвратить отрицательное число, если ниже - положительное, а если элементы по критерию сортировки равны - ноль

Прямая - это от меньшего к большему, обозначаемая маленькой буквой?

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 10:41 15-05-2023 | Исправлено: Alexyz21, 11:29 15-05-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 88 89 90 91

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 7)


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru