这是我用来创建目录结构的内容:
- ;;-------------------=={ Make Directory }==-------------------;;
- ;; ;;
- ;; Creates a directory structure ;;
- ;;------------------------------------------------------------;;
- ;; Author: Lee McDonnell, 2010 ;;
- ;; ;;
- ;; Copyright © 2010 by Lee McDonnell, All Rights Reserved. ;;
- ;; Contact: Lee Mac @ TheSwamp.org, CADTutor.net ;;
- ;;------------------------------------------------------------;;
- ;; Arguments: ;;
- ;; dir - the directory to create ;;
- ;;------------------------------------------------------------;;
- ;; Returns: T if directory creation is successful, else nil ;;
- ;;------------------------------------------------------------;;
- (defun LM:MakeDirectory ( dir / MakeDirectory folders )
- ;; © Lee Mac 2010
- ;; (LM:MakeDirectory "C:\\Folder\\Subfolder")
- (vl-load-com)
- (defun MakeDirectory ( root folders )
- (if folders
- (
- (lambda ( dir ) (vl-mkdir dir)
- (MakeDirectory dir (cdr folders))
- )
- (strcat root "\" (car folders))
- )
- )
- )
-
- (if (setq folders (LM:str->lst (vl-string-translate "/" "\" dir) "\"))
- (MakeDirectory (car folders) (cdr folders))
- )
- (vl-file-directory-p dir)
- )
- ;;-------------------=={ String -> List }==-------------------;;
- ;; ;;
- ;; Separates a string into a list of strings using a ;;
- ;; specified delimiter string ;;
- ;;------------------------------------------------------------;;
- ;; Author: Lee McDonnell, 2010 ;;
- ;; ;;
- ;; Copyright © 2010 by Lee McDonnell, All Rights Reserved. ;;
- ;; Contact: Lee Mac @ TheSwamp.org, CADTutor.net ;;
- ;;------------------------------------------------------------;;
- ;; Arguments: ;;
- ;; str - string to process ;;
- ;; del - delimiter by which to separate the string ;;
- ;;------------------------------------------------------------;;
- ;; Returns: A list of strings ;;
- ;;------------------------------------------------------------;;
- (defun LM:str->lst ( str del / pos )
- ;; © Lee Mac 2010
- (if (setq pos (vl-string-search del str))
- (cons (substr str 1 pos) (LM:str->lst (substr str (+ pos 1 (strlen del))) del))
- (list str)
- )
- )
|