Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - поиск уникальных файлов

Ответить
Настройки темы
Любой язык - поиск уникальных файлов

Аватара для Peutrov

Старожил


Сообщения: 411
Благодарности: 8

Профиль | Отправить PM | Цитировать


Есть папка с множеством подпапок, подподпапок и т.д. В них много файлов-дубликатов и мало уникальных файлов.
Как быстро найти только уникальные? (Сравнение по имени и размеру файла)

Total Commander прекрасно ищет дубликаты. Но уникальный файл подсветить не может.
Файлы надо только найти: удалять, перемещать нельзя.
Существует ли простое решение?
Спасибо

Отправлено: 03:42, 26-05-2020

 

Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Справедливости ради Get-FileHash берет hash содержимого файла. Возьмите его у двух одинаковых файлов с разными именами.

Отправлено: 22:56, 27-05-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата Foreigner:
Справедливости ради Get-FileHash берет hash содержимого файла. Возьмите его у двух одинаковых файлов с разными именами.
Реплика в сторону, надо полагать?! Ежели нет, не переживайте титул кэпа переходящий трофей. Имя файла - всего лишь метка, относительно которой идет считывание данных с диска (если утрированно), в то время как содержимое файла представлено набором байтов, относительно которых и ведется расчет контрольной суммы.

Отправлено: 00:24, 28-05-2020 | #12


Аватара для Peutrov

Старожил


Сообщения: 411
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Это было ясно с самого начала, но ТС хотел именно размер и имя.
Расчёт хэша - вещь хорошая, но выполняться это будет весьма небыстро. »
так точно. "Поверхностного" сравнения было бы достаточно. Не ожидал что не существует софта, в котором было бы быстро и легко это провернуть. Попробую обратиться к тотал коммандеру. Вероятно, существует плагин, который мог бы справиться с не особо мудрёной задачей

Отправлено: 00:34, 28-05-2020 | #13


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Цитата greg zakharov:
Ежели нет, не переживайте титул кэпа переходящий трофей. »
В принципе можно и по хэшу.

Последний раз редактировалось Foreigner, 28-05-2020 в 01:13.


Отправлено: 00:49, 28-05-2020 | #14


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Уникальность - то, что делает предмет универсальным. И если до вас в 100500 раз не дошла простая истина, что сама по себе постановка вопроса лишена логики и противоречит смысловой нагрузке русского языка, видимо форуму так и предстоит топтаться на месте, где львиную долю составляют вопросы вроде "как переместить файл".

Отправлено: 01:11, 28-05-2020 | #15


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Так как Get-FileHash по умолчанию рассчитывает SHA1, можно ускорить обработку, задав ему алгоритм MD5:
Код: Выделить весь код
Get-FileHash -Algorithm MD5

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 08:36, 28-05-2020 | #16


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


DJ Mogarych, по умолчанию используется SHA256. MD5 подвержен коллизиям и не рекомендуется к использованию (неоднократно сталкивался с оным на практике). К слову, SHA256 также можно атаковать, но возможность коллизии ниже на порядок. Если исполнение сценария критично по времени, имеет смысл, как было сказано ранее, использовать unsafe код (благо в pwsh такая возможность имеется, в смысле не нужно использовать Add-Type). Да, код получится длиннее, но работать будет очень быстро.

Отправлено: 09:47, 28-05-2020 | #17


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Цитата greg zakharov:
по умолчанию используется SHA256 »
Да, верно, перепутал.
Цитата greg zakharov:
MD5 подвержен коллизиям »
Я знаю, но в данном случае вероятность таких тонкостей стремится к нулю.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 09:51, 28-05-2020 | #18


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Тем не менее, предосторожности ради лучше отказаться от MD5.

Отправлено: 09:59, 28-05-2020 | #19


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Хоба!

Отправлено: 20:03, 30-05-2020 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - поиск уникальных файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск файлов. zombivadim Скриптовые языки администрирования Windows 1 02-05-2016 01:18
CMD/BAT - Поиск цифр в текстовом файле и последующий их поиск в названии файлов массива (лог.) antares_80@vk Скриптовые языки администрирования Windows 10 25-10-2015 11:34
CMD/BAT - [решено] Поиск уникальных значений по файлу Sat_Kelman Скриптовые языки администрирования Windows 2 22-11-2011 12:12
CMD/BAT - [решено] Поиск, остановка процесса, поиск и замена файлов на разных дисках 4zz Скриптовые языки администрирования Windows 2 21-02-2011 16:07
подсчет уникальных значаний поля в MySQl Vlad Drakula Вебмастеру 17 20-06-2004 22:48




 
Переход