Give this ago, it uses a few core Finder and AppleScripting ideas you can use in the future.
Please make a backup of your data first, just in case.
tell application "Finder"
-- Define the full path to your data
set student_data_folder to folder POSIX file "/Users/Foo/Desktop/bar/students/data"
-- Get the student folders, ignoring good & bad incase they have already been created
set all_student_folders to every folder of student_data_folder whose name is not in {"Good", "Bad"}
--Create the good & bad folders if they don't exist
set good_folder to my checkFolderExists("Good", student_data_folder)
set bad_folder to my checkFolderExists("Bad", student_data_folder)
-- Now loop through all student folders doing the sort based on how many subfolders they have
repeat with student_folder in all_student_folders
if (get the (count of folders in student_folder) > 1) then
-- Its good
move student_folder to good_folder
else
-- It's bad
move student_folder to bad_folder
end if
end repeat
end tell
on checkFolderExists(fname, host_folder)
tell application "Finder"
if not (exists folder fname of host_folder) then
return make new folder at host_folder with properties {name:fname}
else
return folder fname of host_folder
end if
end tell
end checkFolderExists
HTH