Take a look on highend3d.com, there is a script called detachSeparate.mel which does what you are looking for.
Richard
----------------------------------------------
Richard Cheek
https://www.freelance-animation.com
----------------------------------------------