Точный дубликат — это файл, содержимое которого побайтно совпадает с содержимым другого файла. В Windows их можно найти, сгруппировав файлы по размеру и сравнив криптографический хеш каждого файла в группе; для этого подойдёт короткая команда PowerShell. Затем оставьте по одной копии, остальные удалите через Корзину, а папки, от которых зависят приложения, не трогайте. Одних имён файлов и дат недостаточно, чтобы что-либо доказать, поэтому не используйте их для принятия решения.
Что считать дубликатом
Дубликатами называют три разных явления, и только к одному из них безопасно относиться именно как к дубликатам.
- Одинаковое имя. Два файла с именем
report.docxв разных папках могут содержать разный текст. - Одинаковый размер. У двух фотографий размер может случайно совпасть, а переименованная копия сохраняет размер, но получает другое имя.
- Одинаковое содержимое. Совпадает каждый байт. Только эта проверка позволяет утверждать, что при удалении одного файла ничего не будет потеряно.
Проверка точного совпадения содержимого не находит похожие файлы. Фотография, сохранённая повторно с другим качеством, или документ, в котором изменено одно слово, будут иметь другой хеш. Это ограничение метода, которое заодно делает его безопасным: он никогда не помечает два отличающихся файла как одинаковые.
Почему работает хеш
Хеш-функция преобразует содержимое файла в короткий отпечаток. В документации Microsoft о Get-FileHash сказано, что одинаковые значения хеша двух файлов означают, что их содержимое также одинаково, а командлет по умолчанию использует алгоритм SHA256 (проверено в октябре 2026 года). Сначала проверять размер быстрее: файлы разного размера не могут совпадать, поэтому хешировать нужно только файлы одинакового размера.
Выберите папки для поиска
Прежде чем запускать сканирование, определите его область. Подойдут папки, которые вы упорядочиваете сами: библиотека фотографий, папка с музыкой, папка «Загрузки», архив на внешнем диске. Не подойдут папки, где дубликаты ожидаемы и нужны.
C:\Windows,Program FilesиProgramData. Программы хранят собственные копии общих файлов, и удаление одной из них может помешать запуску программы.- Папки проектов и пакетов, например папки зависимостей в программных проектах, где инструменты ожидают наличия каждой копии.
- Папки облачной синхронизации, пока вы не выяснили, какие файлы действительно хранятся на этом компьютере (см. ниже).
- Резервные копии. Копия, созданная для безопасности, выглядит точно так же, как дубликат.
Поиск точных дубликатов с помощью PowerShell
Этот метод только читает файлы и ничего не удаляет. Откройте PowerShell в Windows или в Терминале, замените путь к папке на свой и запустите команду. Обработка папки с множеством больших файлов может занять много времени; кроме того, мы не проверяли эту конкретную строку на каждой сборке Windows 10 и 11.
Get-ChildItem "D:\Photos" -Recurse -File -ErrorAction SilentlyContinue |
Where-Object { $_.Length -gt 0 } |
Group-Object Length |
Where-Object { $_.Count -gt 1 } |
ForEach-Object { $_.Group } |
Get-FileHash |
Group-Object Hash |
Where-Object { $_.Count -gt 1 } |
ForEach-Object { $_.Group | Select-Object Hash, Path }
Команда выполняет пять действий по порядку. Выводит список файлов в папке, пропуская пустые, поскольку все пустые файлы выглядят одинаково. Группирует файлы по размеру и оставляет только те размеры, которые встречаются больше одного раза. Вычисляет хеш SHA256 этих файлов. Группирует их по хешу. Выводит хеш и путь каждого файла, хеш которого встречается больше одного раза. Файлы с одинаковым хешем — точные дубликаты.
Если вывод пуст, в этой папке нет точных дубликатов. Если он длинный, разбирайте по одной группе за раз. Документация по используемым командлетам доступна командлете Get-ChildItem и Get-FileHash.
Будьте осторожны с OneDrive и другими облачными папками
Файл, доступный только в сети, не занимает место на компьютере, поэтому удаление его дубликата ничего не освободит локально. На странице Microsoft «Файлы по запросу» в OneDrive сказано, что открытие файла, доступного только в сети, загружает его. Поэтому скрипт, который читает каждый файл для вычисления хеша, может вызвать загрузку больших объёмов данных. Не включайте облачные папки в поиск, если не хотите этого. Удаление файла из синхронизированной папки также удалит его из облачной копии после синхронизации.
Жёсткие ссылки: два пути, один файл
На дисках NTFS у одного файла может быть несколько имён. В документации Microsoft о жёстких ссылках fsutil объясняется, что на томах NTFS у каждого файла может быть несколько жёстких ссылок, поэтому один файл может находиться во многих каталогах и программы могут открывать любую из этих ссылок. Такие две записи — не две копии. Это один файл с двумя именами. Удаление одного имени не освободит место, а метод хеширования выше покажет их как совпадение, потому что это одни и те же данные.
Windows активно использует жёсткие ссылки в папке WinSxS — это ещё одна причина исключить системные папки из поиска дубликатов.
Решите, какую копию оставить
Прежде чем что-либо удалять, выберите по одной копии из каждой группы совпадающих файлов. Помогут следующие вопросы.
- Какая папка упорядочена? Оставьте копию в библиотеке, которой действительно пользуетесь, а случайную копию удалите из «Загрузок» или с рабочего стола.
- Указывает ли что-нибудь на одну из копий? Музыкальные проигрыватели, приложения для фотографий, ярлыки и документы со связанными файлами могут ссылаться на определённый путь. Прежде чем удалять используемую копию, проверьте ссылки.
- Является ли одна из копий резервной? Если да, для этой цели она не считается дубликатом.
- Всё ещё не уверены? Оставьте обе копии и двигайтесь дальше. Риск редко оправдывает место, которое освободится после удаления одного файла.
Что бы вы ни выбрали, оставьте хотя бы одну проверенную копию. Сначала откройте её и убедитесь, что файл цел.
Удалите копии через Корзину
Выберите в Проводнике копию, которую решили удалить, и нажмите Delete. На обычном локальном диске Windows переместит её в Корзину, откуда файл можно восстановить, пока Корзина не очищена. Прочитайте запрос подтверждения. Если в нём сказано, что файл будет удалён безвозвратно, остановитесь. Так Windows предупреждает, что файл не попадёт в Корзину; такое возможно на некоторых съёмных дисках и в сетевых расположениях. Мы не нашли страницу Microsoft, где перечислены все случаи, поэтому ориентируйтесь на запрос. Вместо этого переместите файл в другое место или решите, действительно ли хотите его удалить.
Для каждого диска задано ограничение размера Корзины. Его можно посмотреть, щёлкнув правой кнопкой мыши по Корзине и выбрав «Свойства». Помните об этом, если удаляете большие файлы. Место не освободится, пока вы не очистите Корзину, а очистка безвозвратна. Подождите несколько дней, прежде чем делать это, на случай если заметите пропажу нужного файла.
Дубликаты, на поиск которых не стоит тратить время
Не стоит тратить время на множество мелких совпадений. Одинаковые значки, файлы конфигурации и библиотечные файлы в папках приложений нужны этим приложениям. Удаление почти ничего не освободит, но может что-нибудь сломать. Реалистичная цель — большие файлы: видео, образы дисков, установщики, экспортированные архивы и папки с фотографиями, скопированными дважды.
Поиск дубликатов файлов в SafeClean
Выберите папки для сканирования. SafeClean группирует файлы по размеру, сравнивает их, проверяет полное содержимое криптографическим хешем и выполняет повторную проверку непосредственно перед действием. Папки, отмеченные как эталонные, не затрагиваются, и копия в такой папке предпочтительна для сохранения. Всегда остаётся как минимум одна копия; остальные перемещаются только в Корзину, и ничего не произойдёт, если Корзина недоступна. Файлы, которые открыты, изменяются или являются жёсткими ссылками на одни и те же данные, пропускаются.
Скачайте SafeClean на Microsoft Store Функции и цены
Часто задаваемые вопросы
Могут ли два разных файла иметь одинаковый хеш?
Согласно документации Microsoft, для SHA256 совпадение хеша подтверждает идентичность содержимого, а на практике случайные коллизии не представляют опасности. Если файлы нельзя заменить, перед удалением одного из них всё же можно открыть оба и сравнить.
Безопасно ли удалять дубликаты, найденные по размеру и имени?
Нет. Имя и размер не доказывают, что содержимое одинаково. Используйте хеш содержимого и оставьте одну проверенную копию.
Предупредит ли Windows перед безвозвратным удалением?
Как правило, да. Прочитайте запрос подтверждения. Если в сообщении говорится о безвозвратном удалении, файл не попадёт в Корзину.
Почему после удаления дубликатов свободного места не прибавилось?
Файлы могут быть жёсткими ссылками на одни и те же данные, файлами в облаке, доступными только в сети, или всё ещё находиться в Корзине. Очистите её и проверьте в свойствах параметр «Размер на диске», чтобы узнать фактическое значение.
Можно ли так найти похожие фотографии?
Нет. У фотографии, размер которой изменили или которую сохранили заново, будет другое содержимое и другой хеш. Этот метод находит только точные копии.