You can create the different folders in this way
gci | % {$_.creationtime.tostring("MMMyy")} | sort | get-unique | % {md $_}
then you can create two array, one for the files and one for the folders
$folders = gci | ? {$_.psiscontainer}
$files = gci | ? {-not $_.psiscontainer}
and finally you can loop each file and compare it with the folder name
foreach ($file in $files) {foreach($folder in $folders) {if($file.creationtime.tostring("MMMyy") -eq $folder) {copy-item $file -destination $folder}}}
if everything works well you can use move-item instead of copy-item.