Я бы начал с итерации по каждому из каталогов.
$My44Subdirs = gci -directory "Path_to_my_Main_directory"
Для каждого из каталогов я бы загрузил все файлы с
[array]$AllFiles = gci "path_to_one_of_your_subdirectories"
Наконец, вы могли бы используйте дескрипторы массива для l oop через группы файлов.
$ctr=0
$maxperfolder=5000
Do
{
ForEach ($file in $AllFiles[$ctr..($ctr+$maxPerFolder-1)])
{
move the files here
{
$ctr += $maxPerFolder
} Until ($ctr -gt "total_#_of_Files_in_this_folder")
Я сделал это немного обобщенным c, чтобы вы могли адаптировать его по своему усмотрению.
Удачи.