明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1803|回复: 5

有谁编写过l文件的全盘搜索lisp吗?

[复制链接]
发表于 2004-10-29 20:25:00 | 显示全部楼层 |阅读模式
我想,这个应该lisp可以做到~
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-10-29 20:59:00 | 显示全部楼层
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=10582 这个程序里的的左边文件夹树差不多就是这样,可以搜索这个硬盘,不过为了程序的速度,我这个程序只搜索到当前展开的目录的下一级,稍微改一下,就可以搜索整个硬盘了
 楼主| 发表于 2004-10-29 21:21:00 | 显示全部楼层
还是比较费事,如果把它弄出来,也是一个比较有用的工具,如:程序需要一个文件,不在cad的搜索路径下,就自动搜索
发表于 2004-10-30 09:10:00 | 显示全部楼层
用doslib的dos_find,支持通配符。如果在搜索路径找到(当然使用通配符是不能用findfile找到的),返回第一个文件全名,否则全盘搜索,返回找到的文件全名列表。 Usage: (search "123.dwg")或(search "B*.dwg")问题:使用通配符搜索的结果和windows explorer的结果有点出入,原因不明。
  1. (defun search (pattern / filefound)
  2.    (dos_waitcursor t)
  3.    (command "modemacro" "正在搜索文件,请稍候...")
  4.    (setq filefound (findfile pattern))
  5.    (if (not filefound)
  6.        (foreach drv (dos_drives)
  7.            (if (setq found (dos_find (strcat drv "\" pattern)))
  8.   (setq filefound (append filefound found))
  9.   )
  10.            )
  11.        )
  12.    (if (listp filefound)
  13.        (setq filefound
  14.        (vl-remove-if '(lambda (e) (wcmatch e "*\\RECYCLER\\*"))
  15.        filefound
  16.        )
  17.      )
  18.        )
  19.    (dos_waitcursor)
  20.    (command "modemacro" " ")
  21.    filefound
  22.    )

评分

参与人数 1金钱 +3 贡献 +3 激情 +3 收起 理由
xazhji + 3 + 3 + 3 【好评】好的程序,巧妙的应用!

查看全部评分

发表于 2004-10-30 09:24:00 | 显示全部楼层
xazhji发表于2004-10-29 21:21:00还是比较费事,如果把它弄出来,也是一个比较有用的工具,如:程序需要一个文件,不在cad的搜索路径下,就自动搜索

这种作用应该不大吧,首先是速度很慢,使用WINDOWS的搜索也那么慢...另外,如果有相同的文件名,该取哪个? 好象没有一个应用软件有这样的功能吧
 楼主| 发表于 2004-10-30 19:47:00 | 显示全部楼层
Alin :



                 程序不错!很好,速度比 windows 的还快,我搜索了末尾盘符的文件,不到10秒!不会吧?? windows 超过半分钟,而且,会有更多不是目标的文件!问题只是用 doslib ,还要按需加载,给程序带来包袱,再者,程序要是同doslib在一起,还需要手动加载(因为不是每个人都加载了doslib),也是这个功能失去了意义。关于 * 的问题,我认为没有必要管它,因为,找的文件,名字肯定有特别的含义,而且,不会有重复的。


        另外,modemacro 也用得很妙!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-30 08:34 , Processed in 0.192748 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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