明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3555|回复: 14

[求助]帮忙写一个返回文件所在目录的函数

  [复制链接]
发表于 2007-5-30 18:54:00 | 显示全部楼层 |阅读模式

假如我的lisp文件所在目录为

D:\a\b\c\my.lsp

在my.lsp中写一个函数,返回值为本lsp文件所在的目录 D:\\a\\b\\c

希望哪位大侠帮帮忙,谢谢

发表于 2022-6-15 21:21:30 | 显示全部楼层
(setq path(vl-filename-directory (findfile "my.lsp")))
(princ path)
发表于 2022-6-14 16:27:12 | 显示全部楼层
大哥 搞定了吗
发表于 2007-5-30 20:49:00 | 显示全部楼层

是不是用arx能做到呀

但是我不会,正想学呢

就是用"dos_*"那些函数

发表于 2007-5-30 21:31:00 | 显示全部楼层
命令: (vl-filename-directory "D:\\a\\b\\c\\my.lsp")
"D:\\a\\b\\c"
 楼主| 发表于 2007-5-31 00:07:00 | 显示全部楼层
问题是,我并不知道这个lisp文件在哪个目录下,需要函数来确定自己所在lisp文件的目录。
发表于 2007-5-31 11:26:00 | 显示全部楼层

doslib应该可以做到吧

因为这些都是dos命令,要不你去arx专区问一下

发表于 2007-5-31 13:24:00 | 显示全部楼层
本帖最后由 作者 于 2007-5-31 13:31:37 编辑

  1. (defun c:temp(/ osn oor folderpath)
  2.   (setvar "cmdecho" 0)
  3. (startapp "explorer" "D:\\a\\b\\c")
  4.   (prin1)
  5. )
发表于 2007-5-31 13:25:00 | 显示全部楼层
  1. (defun c:44(/ osn oor folderpath)
  2.   (setvar "cmdecho" 0)
  3.   (setq osn (getvar "osmode"))
  4.   (setq oor (getvar "orthomode" ))
  5.   (setvar "osmode" 0)
  6.   (setvar "orthomode" 0)
  7. ;;;------------------------------------------
  8. (setq folderpath (getvar "dwgprefix"))
  9. (startapp "explorer" folderpath)
  10. ;;;------------------------------------------
  11.   (setvar "osmode" osn)
  12.   (setvar "orthomode" oor)
  13.   (prin1)
  14. )
 楼主| 发表于 2007-5-31 20:18:00 | 显示全部楼层

谢谢 jaminth;

dwgprefix好像是活动的dwg文件所在的目录,

我需要的是这个lsp文件所在的目录。

假定lsp文件所在的路径是"D:\\a\\b\\c"

我想找到这个lsp路径的目的是为了把"D:\\a\\b\\c\\d"这个路径加入到CAD的自动搜索路径中。

希望大家帮帮忙。

发表于 2007-5-31 20:26:00 | 显示全部楼层

(findfile "my.lsp")

发表于 2007-6-1 20:02:00 | 显示全部楼层
我有点弄不懂,你将"c:\\a\\b\\c"设为"自动搜索路径",再把你的"my.lsp"文件拷到(安装到)该路径中去不行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 17:25 , Processed in 0.185877 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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