明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1474|回复: 6

[讨论] 如何用vlisp程序读出本地有几个驱动器

[复制链接]
发表于 2010-11-5 15:15:00 | 显示全部楼层 |阅读模式
如何用vlisp程序读出本地有几个驱动器,不要dos_lisp的函数,因为dos_lisp在2010里不支持
发表于 2010-11-5 15:35:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-11-5 16:10:00 | 显示全部楼层
还是不要遮遮掩掩好。
不知道楼主所说的驱动器是不是指的磁盘?
  1. (defun c:test (/ fso drives i)
  2.   (setq fso (vlax-create-object "Scripting.FileSystemObject"))
  3.   (setq drives (vlax-get fso 'drives))
  4.   (setq i 0)
  5.   (vlax-for drive drives
  6.     (vlax-dump-object drive T)
  7.     (setq i (1+ i))
  8.   )
  9.   (princ "\n共有磁盘个数:")
  10.   (princ i)
  11.   (vlax-release-object fso)
  12.   (princ)
  13. )
发表于 2010-11-5 16:53:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-11-5 17:02:00 | 显示全部楼层
(defun GetDevs ( / i Device devs )
  (setq i 67)
  (while (<= i 90)
(if (vl-directory-files (setq Device (strcat (chr i) ":\\")))
    (setq Devs (append Devs (list Device))))
    (setq i (1+ i))
  )
devs
)
发表于 2010-11-5 17:28:00 | 显示全部楼层

楼上的方法也巧,不过在某些情况下出错哦,譬如某个磁盘下什么文件都没有的话,一样返回nil值

 

 楼主| 发表于 2010-11-8 13:28:00 | 显示全部楼层
多谢各位大师
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 14:30 , Processed in 0.168374 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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