autolisp获取目录和目录下文件的方法,

autolisp获取目录和目录下文件的方法,,第1张

应当可以吧,思路就是命令是唯一的,查找这个命令就能够找到文件夹:

按CAD里面的lisp为例,首先搜索【acaddoc.lsp】为后缀的文件,这个文件是自基信则动加载文件,打开文件,读取内容,得到文件名,然后按文件名搜索,搜索一个文件就打开,读取字串符,如果命令为【(DEFUN C:TES 】,注意坦衡里面有空格,把字串符全部变大写进行比较,那么搜索这个字串符内容,如果找到,那么就是你搏棚要搜索的文件全路径了。如果是子命令也同样这样搜索。我想,在CAD里面使用命令也是这样来搜索的。

具体的没有测试。

写了一个autolisp,注意以下条件:

打开的dwg文磨裤件必须要保存。

如果新文件夹没有建立成功,查看cad是否安装了【Express Tools】。

(defun c:tes ( / &tr1 ff1 ff2)

 (setq ff1 "D:\\A")建立文件夹

 (if (VXMAKEDIRECTORY ff1)如果建立成功

  (progn

   (setq &tr1 (getvar "dwgname"))提取文件喊誉名

   (if (setq ff2 (findfile &tr1))如果找到这个文件

  郑游段  (vl-file-copy ff2 (strcat ff1 "\\" &tr1))复制文件到新文件夹里面

   )

  )

 )

 (princ)

)appload命令加载autolisp,命令【TES】,看附件下载。

为什么要编译成exe文件呢?要让其在所有的windows上都能运行?

【首先】:lisp是脚本语言,所以它是跨平台的,也就是巧晌罩说它不需要被编译成exe文件,就能在所以机器上运行。

【方法】这方法有点笨,但是很好,也适用于想把java转exe苦苦挣扎的人们

方法就是:写一个.bat文件" highlight="true">bat文件

【bat文件的内容】文件名暂定为run.bat

.\clispfolder\clisp programname

PAUSE

【注】

(1)一定要用反斜杠

(2)clispfolder 为你的lisp的解释器的文件夹的名字

(3)clisp 为你的解释器的名字(就是clispfolder中那个exe文件)

(4)programname为你的lisp程序的名字,貌似带不带后缀都可以。

(5)用记事本写完上面两行东东后,将其存为.bat格式谨早

【然后的 *** 作】

随便建一个文件夹,这个文件夹中要放进去三个东东

(1)你的lisp的源代码

(2)你的lisp的完整的解释器,就是讲clispfolder完整的拷贝到这个文件夹即可

(3)刚才写的那个bat文件

【之后】

你就可以带着这个文件夹满世界跑啦,在“所有”的windows中,双击那个bat文件,即可运行你写的lisp啦..................................

【此方法的缺点】

(1)那个clispfolder太大,如果你只是写一个不到1M的lisp的话,那这种方法很臃肿

(2)这种方法貌似不适用于用lisp写windows的@病#毒孝闹!

----------------------------------------------------------------

不过这个方法可靠,简单!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12168268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存