Реализация зависит от того, как вы обрабатываете дубликаты.
Здесь я предположил, что последняя доступная копия будет наиболее ценной для пользователей. В целях ведения домашнего хозяйства я бы удалил "()" из имени файла выбранной копии. Я на самом деле не проверял это, поэтому, пожалуйста, попробуйте с осторожностью.
$files = gci c:\users\*\Downloads -include "* (*).*" -Recurse | Where-Object {$_.name -match "^.*\ \([1-9][0-9]*\)\..*$"}
foreach ($file in $files) {
$fileOrgFullName = $file.Directory.FullName + "\" + ($file.BaseName -replace " \([1-9][0-9]*\)$", "") + $file.Extension
if (test-path $fileOrgFullName) {
$fileOrg = gi $fileOrgFullName
if ($file.LastAccessTime -gt $fileOrg.LastAccessTime) {
cp $file.FullName $fileOrg.FullName
}
rm $file.fullName
} else {
ren $file.FullName $fileOrgFullName
}
}