В моём случае такая задача появилась для записи диска с mp3 треками для плеера, который не поддерживает рандомное воспроизведение.
Всё это можно сделать средствами windows, не прибегая к установке сторонних программ. Приступим. # Получаем список только файлов (без папок) и перемешиваем их $files = Get-ChildItem -File | Get-Random -Count (Get-ChildItem -File).Count # Переменная счетчика $i = 1 foreach ($file in $files) { # Формируем новое имя. {0:D3} означает номер с ведущими нулями (например, 001, 002). Если хотите без нулей, замените D3 на d. $newName = "{0:D3}_{1}" -f $i++, $file.Name # Проверяем, не существует ли уже файл с таким именем (защита от перезаписи) if (-not (Test-Path $newName)) { Rename-Item -Path $file.FullName -NewName $newName Write-Host "Переименован: $($file.Name) -> $newName" } else { Write-Warning "Файл с именем '$newName' уже существует! Пропуск." } } Write-Host "Готово!" -ForegroundColor Green