you can try "SaveAs" , vl-file-copy or use dbx
Code:
;;; How to use (sortFile "Find Me Text" "c:/temp")
;;; Select all dwg from a dwg-folder
;;; Create a subfolder named stringToFind
;;; open DBX file
;;; Find a stringToFind in next_object
;;; Copy dwg if stringToFind is found
(defun sortFile (stringToFind dwg-folder / file files AD cad-ver)
(setq files(vl-directory-files dwg-folder "*11.dwg" ))
(setq cad-ver (itoa(atoi(getvar "acadver"))))
(vl-mkdir (strcat dwg-folder "/" stringToFind ));; make a folder
(foreach file files
(setq AD (vla-getinterfaceobject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." cad-ver)))
(vla-open AD (strcat dwg-folder "/" file))
(vlax-for next_object (vla-get-modelspace AD )
(if (not(findfile (strcat dwg-folder "/" stringToFind "/" file)))
(if(= "AcDbMText"(vla-get-ObjectName next_object))
(if (vl-string-search stringToFind (vla-get-TextString next_object))
(vl-file-copy fileName (strcat dwg-folder "/" stringToFind "/" file))
)
)
)
)
(vlax-release-object AD)
)
)