PowerShell:
Код:

[array] $dirs = get-item 'e:\files'
get-childitem 'e:\files' | where { $_.psiscontainer } | foreach { $dirs += $_ }
foreach ($dir in $dirs) {
$mask = ($dir.name.split() -join '*') + '*'
get-childitem 'e:\sources' $mask | foreach {
move-item -path $_.fullname -dest $dir.fullname -ea 0
}}