找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 888|回复: 4

[LISP函数]:几个Scripting.FileSystemObject应用函数

[复制链接]
发表于 2003-12-5 14:57:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1.   [FONT=courier new]
  2. 1.  查找指定目录特定文件列表
  3.    ;;;(FindFiles_lst "c:\\hqd9639" "*`.dwg")
  4.   (defun findfiles_lst (dir Pattern / FILSYS pattern folderobj Files result)
  5.     (vl-load-com)
  6.     (setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
  7.     (if (/= (vlax-invoke-method FILSYS "FolderExists" dir) :vlax-false)
  8.         (progn
  9.            (setq pattern (strcase pattern))
  10.            (setq folderobj (vlax-invoke-method FILSYS "GetFolder" dir))
  11.            (setq Files (vlax-get-property folderobj "Files"))
  12.            (vlax-for file files
  13.                  (if (wcmatch (strcase (vla-get-name file)) pattern)
  14.                      (setq result (cons (vla-get-path file) result))
  15.                  )
  16.                  (vlax-release-object file)
  17.            )
  18.            (vlax-release-object files)
  19.            (vlax-release-object folderobj)
  20.            (vlax-release-object FILSYS)
  21.            result
  22.         )
  23.         (progn
  24.            (vlax-release-object FILSYS)
  25.            nil
  26.         )
  27.     )
  28.   )
  29.   ;;;
  30. 2. 用VLISP重命名文件夹
  31.   ;;;(ren_folder "c:\\hqd9639" "hqd")
  32.   (defun ren_folder (oldfolder newname / FILSYS folderobj)
  33.     (vl-load-com)
  34.     (setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
  35.     (if (/= (vlax-invoke-method FILSYS "FolderExists" oldfolder) :vlax-false)
  36.         (progn
  37.             (setq folderobj (vlax-invoke-method FILSYS "GetFolder" oldfolder))
  38.             (if (/= (vla-get-Name folderobj) newname)
  39.                 (progn
  40.                    (vla-put-Name folderobj newname)
  41.                    T
  42.                 )
  43.                 nil
  44.             )
  45.         )
  46.         nil
  47.     )
  48.   )
  49. ;;;

  50. 3.   用VLISP获取硬盘系列号
  51.   ;;;(GET_DRIVE_SN "c")
  52.   (defun get_drive_sn (drive / FILSYS driveobj)
  53.     (vl-load-com)
  54.     (setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
  55.     (if (/= (vlax-invoke-method FILSYS "DriveExists" drive) :vlax-false)
  56.         (progn
  57.            (setq driveobj (vlax-invoke-method FILSYS "GetDrive" drive))
  58.            (vlax-get-property driveobj "SerialNumber")
  59.         )
  60.         nil
  61.     )
  62.   )
  63.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-12-6 17:09:05 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-6 20:25:24 | 显示全部楼层
斑竹为什么我把程序拿回去调试的时候总是提示 “错误: 参数太少”呢
用VLISP获取硬盘系列号这个东西很有用可以用来作加密程序。
我以前只知道可以取到mac地址可是mac可以改
难道还有人能够吧用硬盘系列号也改掉吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

发表于 2003-12-7 12:15:10 | 显示全部楼层
获取序列号的好像以前龙龙仔写过。结果和doslib的两样的是数字的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-9 19:28:51 | 显示全部楼层
这个东东我还没有调试好,请大家帮帮忙好吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 19:17 , Processed in 0.180175 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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