明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 825|回复: 3

[提问] LISP创建隐藏的多级文件夹,求修正!

  [复制链接]
发表于 2021-5-21 19:41 | 显示全部楼层 |阅读模式
本帖最后由 潇湘飞雨 于 2021-5-22 15:18 编辑

;请教如何在C盘创建一个默认隐藏的文件夹,文件夹有多级,例如C:\bos\dgd\dsg
;出错提示输入的字符有缺陷!
;
; -- 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 )


这是论坛里面找到源码,感谢龙龙仔!


发表于 2021-5-22 11:14 | 显示全部楼层
(vl-string-right-trim "\" (vl-string-right-trim "/" DIR))
这句少了一个反斜杠

评分

参与人数 1明经币 +1 收起 理由
潇湘飞雨 + 1 很给力!

查看全部评分

回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2021-5-22 11:27 | 显示全部楼层
tryhi 发表于 2021-5-22 11:14
(vl-string-right-trim "\" (vl-string-right-trim "/" DIR))
这句少了一个反斜杠

OK已经解决,十分感谢!!!
发表于 2022-12-23 11:32 | 显示全部楼层
出错提示输入的字符有缺陷
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-3-29 03:50 , Processed in 0.151303 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表