Пожалуйста, смотрите ниже скрипт powershell.
Я проверил это только для текстовых файлов, но он должен работать с любым файлом при условии, что размер / длина файла читаема.
$Source = "C:\Test" $Comparison = "C:\Test2" $SourceFiles = Get-ChildItem -File -Path $Source | Select * $ComparisonFiles = Get-ChildItem -File -Path $Comparison | Select * Foreach ($File in $SourceFiles){ Write-Host "Checking for" $File.Name Foreach ($CFile in $ComparisonFiles){ if ($File.length -eq $CFile.length){ Write-host $File.fullname "Matches `n" $CFile.fullname Rename-Item -Path $File.FullName -NewName $CFile.Name -WhatIf Write-Host "`n" } } }
Измените пути $ Source и $ Comparison к их соответствующим каталогам, в настоящее время это безопасно для запуска и изначально не вносит никаких изменений. После того, как вы запустили его и остались довольны результатами, вы можете удалить «-Whatif» из функции переименования элемента, и это внесет изменения, указанные при первом запуске.
Это очень быстрый пример, и он не учитывает, как обрабатывать несколько файлов одинакового размера (возможны дубликаты файлов и т. Д.), Это только делает родительский каталог, а не рекурсивный.