Поиск дубликатов файлов

Часто бывает надо🙂 Решается на PowerShell в 1 строчку🙂

По каталогу рекурсивно отбираются файлы у которых одинаковое имя и размер:

[PS C:...Temp] Dir -rec | group name,length | where {$_.count -gt 1} Count Name Group ----- ---- ----- 2 file2.txt, 62804 {file2.txt, file2.txt} 2 file3.txt, 57860 {file3.txt, file3.txt}

Полные пути дубликатов, подряд:

[PS C:...Temp] Dir -rec | group name,length | ?{$_.count -gt 1} | Select -Expand group | ft fullname FullName -------- C:RootTempfile2.txt C:RootTempFolder6file2.txt C:RootTempfile3.txt C:RootTempFolder6file3.txt

Группами дубликатов:

[PS C:...Temp] dir -rec | group name,length | ? {$_.count -gt 1} | %{$_ | select -expand group | ft fullname} FullName -------- C:RootTempfile2.txt C:RootTempFolder6file2.txt FullName -------- C:RootTempfile3.txt C:RootTempFolder6file3.txt

Использованные сокращения (все присутствуют в PowerShell по умолчанию)🙂 —

  • dir = get-childitem
  • -rec = -recurse
  • group = group-object
  • ? = where-object
  • % = foreach-object
  • select = select-object
  • ft = format-table
Опубликовано в Learn, PowerShell, Practice, Scripting, Tips. Комментарии к записи Поиск дубликатов файлов отключены
%d такие блоггеры, как: