If you want to hard coded the program then you do not need the entire program ........
Use a part of the program only.......
(defun C:CMLP ( / sh folder folderobject result);;Put temp Variables
(vl-load-com)
(setq sh (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application" ))
(setq folder (vlax-invoke-method sh 'BrowseForFolder 0 "" 0 ))
(vlax-release-object sh)
(if folder
(progn
(setq folderobject (vlax-get-property folder 'Self))
(setq result (vlax-get-property FolderObject 'Path))
(vlax-release-object folder)
(vlax-release-object FolderObject)
(setq Files_Folder (vl-directory-files result "*.dwg"))
(setq LTF '("Layer1" "Layer2" "Layer3")) ;;;Enter Layer Name(s) to Freeze
(setq LTT '("Layer4" "Layer5" "Layer6")) ;;;Enter Layer Name(s) to Thaw
;(vl-cmdf "save" (strcat (getvar "dwgprefix") (getvar "dwgname")))
(vl-cmdf "save" (strcat (getvar "dwgprefix") (getvar "dwgname")) "Y")
(setq SDI_Val (getvar "SDI"))
(setq LISPI_Val (getvar "LISPINIT"))
(vl-cmdf "SDI" 1)
(vl-cmdf "LISPINIT" 0)
(setq n 0)
(while (< n (length Files_Folder))
(command "fileopen" (strcat result "\\" (nth n Files_Folder)))
(setvar 'cmdecho 0)
(foreach L LTF (vl-catch-all-apply 'vl-cmdf (list "-layer" "Freeze" L "")))
(foreach L LTT (vl-catch-all-apply 'vl-cmdf (list "-layer" "Thaw" L "")))
(vl-cmdf "save" (strcat result "\\" (nth n Files_Folder)))
(setq n (+ 1 n))
(setvar 'cmdecho 1)
);while
);progn
);if
(vl-cmdf "LISPINIT" LISPI_Val)
(vl-cmdf "SDI" SDI_Val)
(princ)
)
Debashis Bhunia
Co-Founder of Geometrifying Trigonometry(C)
________________________________________________
Walking is the First step of Running, Technique comes Next....