Dear Jimad,
Loading the following autolisp code, will add a command SBL to your drawing session. The SBL command does your mentioned job.
All DWGs will save in the root of drive C: .
If some drawings with the same name there exist in the root of drive c:, the program will not work properly. So before running the SBL command, be sure there is no DWG with the name similar to layer names in c:\ .
(defun c:SBL(/ llist lname)
(setvar "cmdecho" 0)
(setq llist (tblnext "layer" t))
(while (not (null llist))
(setq lname (cdr (assoc 2 llist)))
(setq lss (ssget "x" (list (cons 8 lname))))
(command "wblock" (strcat "c:\\" lname) "" '(0 0) lss ""

(command "oops"

(setq llist (tblnext "layer"

)
)
(prompt "\n All objects extracted by layer.\n"

(princ)
)

Farzad