subtlation 发表于 2007-5-30 18:54:00

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

<p>假如我的lisp文件所在目录为</p><p>D:\a\b\c\my.lsp</p><p>在my.lsp中写一个函数,返回值为本lsp文件所在的目录 D:\\a\\b\\c</p><p>希望哪位大侠帮帮忙,谢谢</p>

yu960312 发表于 2022-6-15 21:21:30

(setq path(vl-filename-directory (findfile "my.lsp")))
(princ path)

eechenchun 发表于 2022-6-14 16:27:12

大哥 搞定了吗

phoenixdjq 发表于 2007-5-30 20:49:00

<p>是不是用arx能做到呀</p><p>但是我不会,正想学呢</p><p>就是用"dos_*"那些函数</p>

yshf 发表于 2007-5-30 21:31:00

命令: (vl-filename-directory "D:\\a\\b\\c\\my.lsp")<br/>"D:\\a\\b\\c"

subtlation 发表于 2007-5-31 00:07:00

问题是,我并不知道这个lisp文件在哪个目录下,需要函数来确定自己所在lisp文件的目录。

phoenixdjq 发表于 2007-5-31 11:26:00

<p>doslib应该可以做到吧</p><p>因为这些都是dos命令,要不你去arx专区问一下</p>

jaminth 发表于 2007-5-31 13:24:00

本帖最后由 作者 于 2007-5-31 13:31:37 编辑


(defun c:temp(/ osn oor folderpath)
(setvar "cmdecho" 0)
(startapp "explorer" "D:\\a\\b\\c")
(prin1)
)

jaminth 发表于 2007-5-31 13:25:00

(defun c:44(/ osn oor folderpath)
(setvar "cmdecho" 0)
(setq osn (getvar "osmode"))
(setq oor (getvar "orthomode" ))
(setvar "osmode" 0)
(setvar "orthomode" 0)
;;;------------------------------------------
(setq folderpath (getvar "dwgprefix"))
(startapp "explorer" folderpath)
;;;------------------------------------------
(setvar "osmode" osn)
(setvar "orthomode" oor)
(prin1)
)

subtlation 发表于 2007-5-31 20:18:00

<p>谢谢 <strong><font face="Verdana" color="#61b713">jaminth;</font></strong></p><p><font color="#ff00ff">dwgprefix好像是活动的dwg文件所在的目录,</font></p><p><font color="#ff00ff">我需要的是这个lsp文件所在的目录。</font></p><p><font color="#ff00ff">假定lsp文件所在的路径是"D:\\a\\b\\c"</font></p><p><font color="#ff00ff">我想找到这个lsp路径的目的是为了把"D:\\a\\b\\c\\d"这个路径加入到CAD的自动搜索路径中。</font></p><p><font color="#ff00ff">希望大家帮帮忙。</font></p>

wzz1968 发表于 2007-5-31 20:26:00

<p>(findfile "my.lsp")</p><p></p><p></p>

wmz 发表于 2007-6-1 20:02:00

我有点弄不懂,你将"c:\\a\\b\\c"设为"<font color="#ff00ff">自动搜索路径",再把你的"</font><font color="#000000">my.lsp"文件拷到(安装到)该路径中去不行吗?</font>
页: [1] 2
查看完整版本: [求助]帮忙写一个返回文件所在目录的函数