明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7587|回复: 15

[求助]怎样用LISP创建文件夹

  [复制链接]
发表于 2005-3-31 11:28:00 | 显示全部楼层 |阅读模式
用LISP怎样创建文件夹,请指教,谢谢!
发表于 2005-3-31 13:06:00 | 显示全部楼层
(vl-mkdir "C:\\TMP")


你学得多了就明白了,有些东西是需要多方面知识的,不是哪本书能讲全的,,,就象4楼的,你只学LISP,学到死可能都不会,还需要知道其它应用程序对象方面的知识
回复 支持 2 反对 0

使用道具 举报

发表于 2021-4-5 21:54:13 | 显示全部楼层
院长牛逼,教人的时候还不忘鞭策下人
发表于 2005-3-31 11:32:00 | 显示全部楼层
你用DosLib的dos_mkdir 即可
 楼主| 发表于 2005-3-31 11:46:00 | 显示全部楼层

谢谢

谢谢!!
发表于 2005-3-31 12:27:00 | 显示全部楼层
  1. ;;创建文件或文件夹
  2. ;;1、能否用lisp创建档夹。
  3. ;;2、lisp创建的档属性能否以隐藏形式建立。
  4. ;;By LUCAS(龙龙仔)
  5. ;;隐藏形式创建档夹
  6. ;;USAGE: (MAKEFOLDER "C:\\TMP")(defun MAKEFOLDER (FNAME / SYS FOLDER)
  7.    (if (not (findfile FNAME))
  8.        (progn
  9.            (setq SYS (vlax-create-object "Scripting.FileSystemObject"))
  10.            (setq FOLDER (vlax-invoke-method SYS 'CREATEFOLDER FNAME))
  11.            (vlax-put  FOLDER
  12.     "Attributes"
  13.     2
  14.            )
  15.            (vlax-release-object FOLDER)
  16.            (vlax-release-object SYS)
  17.        )
  18.        (alert (strcat """ FNAME "" 档案夹已存在!!"))
  19.    )
  20.    (princ)
  21. )
 楼主| 发表于 2005-3-31 12:44:00 | 显示全部楼层
还是明经通道好,我在帮助里翻了半天,什么都没有,我的LISP书上也没有,还想请教这些东西哪里可以找得到啊,或者帮忙介绍一本书吧
发表于 2006-3-21 21:25:00 | 显示全部楼层

请教,d盘下没有文件夹e,但要产生"d:\\e\\f\\g"这个文件夹,要自动加上一层的文件夹

发表于 2006-3-22 07:59:00 | 显示全部楼层
  1. ;;
  2. ;; -- VxMakeDirectory
  3. ;; Creates the specified directory(ies).
  4. ;; Copyright:
  5. ;;   ?001 MENZI ENGINEERING GmbH, Switzerland
  6. ;; Arguments [Type]:
  7. ;;   Dir = Folder to create, e.g. "C:\\Temp\\MyTemp\\AllScrap" [STR]
  8. ;; Return [Type]:
  9. ;;   > T   VxMakeDirectory succeed
  10. ;;     Nil Error on creating directory(ies)
  11. ;; Notes:
  12. ;;   - Requires ScrRun.dll (see also notes at top of page).
  13. ;;
  14. ;;USAGE:(VXMAKEDIRECTORY "C:\\Temp\\MyTemp\\AllScrap")
  15. (defun VXMAKEDIRECTORY
  16.        (DIR / CURDIR DRVOBJ FILSYS RETVAL TMPLST TMPVAL)
  17.   (setq FILSYS (vlax-create-object "Scripting.FileSystemObject")
  18. CURDIR (vl-string-right-trim "\" (vl-string-right-trim "/" DIR))
  19.   )
  20.   (while (/= (setq TMPVAL (vl-filename-directory CURDIR)) CURDIR)
  21.     (setq TMPLST (cons TMPVAL TMPLST)
  22.    CURDIR TMPVAL
  23.     )
  24.   )
  25.   (setq
  26.     RETVAL (cond
  27.       ((= (vlax-invoke FILSYS 'DRIVEEXISTS TMPVAL) 0) NIL)
  28.       ((setq DRVOBJ (vlax-invoke FILSYS 'GETDRIVE TMPVAL))
  29.        (cond
  30.   ((= (vlax-get DRVOBJ 'ISREADY) 0) NIL)
  31.   (t
  32.    (foreach MEMB TMPLST
  33.      (cond
  34.        ((= (vlax-invoke FILSYS 'FOLDEREXISTS MEMB) -1))
  35.        ((vlax-invoke FILSYS 'CREATEFOLDER MEMB))
  36.      )
  37.    )
  38.    (cond
  39.      ((= (vlax-invoke FILSYS 'FOLDEREXISTS DIR) -1))
  40.      ((vlax-invoke FILSYS 'CREATEFOLDER DIR) t)
  41.      (t NIL)
  42.    )
  43.   )
  44.        )
  45.       )
  46.     )
  47.   )
  48.   (if DRVOBJ
  49.     (vlax-release-object DRVOBJ)
  50.   )
  51.   (vlax-release-object FILSYS)
  52.   RETVAL
  53. )
发表于 2006-3-22 12:15:00 | 显示全部楼层

龙哥,可以生成了,不过会出错

((VXMAKEDIRECTORY "C:\\Temp\\MyTemp\\AllScrap"))
; 错误: 函数错误: T
_$

发表于 2006-3-22 12:22:00 | 显示全部楼层

一个括号即可

(VXMAKEDIRECTORY "C:\\Temp\\MyTemp\\AllScrap")

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-16 21:56 , Processed in 0.225481 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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