 - ;;
- ;; -- VxMakeDirectory
- ;; Creates the specified directory(ies).
- ;; Copyright:
- ;; ?001 MENZI ENGINEERING GmbH, Switzerland
- ;; Arguments [Type]:
- ;; Dir = Folder to create, e.g. "C:\\Temp\\MyTemp\\AllScrap" [STR]
- ;; Return [Type]:
- ;; > T VxMakeDirectory succeed
- ;; Nil Error on creating directory(ies)
- ;; Notes:
- ;; - Requires ScrRun.dll (see also notes at top of page).
- ;;
- ;;USAGE:(VXMAKEDIRECTORY "C:\\Temp\\MyTemp\\AllScrap")
- (defun VXMAKEDIRECTORY
- (DIR / CURDIR DRVOBJ FILSYS RETVAL TMPLST TMPVAL)
- (setq FILSYS (vlax-create-object "Scripting.FileSystemObject")
- CURDIR (vl-string-right-trim "\" (vl-string-right-trim "/" DIR))
- )
- (while (/= (setq TMPVAL (vl-filename-directory CURDIR)) CURDIR)
- (setq TMPLST (cons TMPVAL TMPLST)
- CURDIR TMPVAL
- )
- )
- (setq
- RETVAL (cond
- ((= (vlax-invoke FILSYS 'DRIVEEXISTS TMPVAL) 0) NIL)
- ((setq DRVOBJ (vlax-invoke FILSYS 'GETDRIVE TMPVAL))
- (cond
- ((= (vlax-get DRVOBJ 'ISREADY) 0) NIL)
- (t
- (foreach MEMB TMPLST
- (cond
- ((= (vlax-invoke FILSYS 'FOLDEREXISTS MEMB) -1))
- ((vlax-invoke FILSYS 'CREATEFOLDER MEMB))
- )
- )
- (cond
- ((= (vlax-invoke FILSYS 'FOLDEREXISTS DIR) -1))
- ((vlax-invoke FILSYS 'CREATEFOLDER DIR) t)
- (t NIL)
- )
- )
- )
- )
- )
- )
- (if DRVOBJ
- (vlax-release-object DRVOBJ)
- )
- (vlax-release-object FILSYS)
- RETVAL
- )
|