Как скопировать первый файл для каждого расширения?

Имеется список файлов с разными типами расширений, например, ***_00.abc, ***_00.323445а, ***_00.uuu2345q и так далее, и их тысячи. Вручную могу что то пропустить

Для каждого типа расширения надо выбрать первый попавшийся файл (abc, 323445а, uuu2345q,...) и его скопировать.


Ответы (1 шт):

Автор решения: Алексей Р

Собираем файлы из каталога, группируем по расширению, сортируем по имени, из каждой группы забираем первый файл, копируем.

$src = "c:\test" # откуда
$dst = "c:\test\copy" # куда
Get-ChildItem -File -Path $src | Group-Object -Property extension | Sort-Object -Property name | ForEach-Object {
    $file = $_.Group | Select-Object -First 1
    Copy-Item $file.FullName -Destination "$dst\$file"
    Write-Host "File ""$file"" copied"
}
→ Ссылка