明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1069|回复: 7

[源码] 打开当前文件目录 的其他文件

[复制链接]
发表于 2015-11-1 11:17 | 显示全部楼层 |阅读模式
本帖最后由 winerfjy 于 2015-11-24 09:37 编辑

(defun c:mmll (/ Filename OriginalList PathFilename WinSortList)
  (princ "\n选择要打开的文件:")(princ)
  (if (not *LastFolder)
    (setq *LastFolder (getvar "DWGPREFIX"))
  );if
  (if (setq PathFilename (getfiled " 选择要打开的文件" *LastFolder "dwg" 2))
    (setq *LastFolder (strcat (vl-filename-directory PathFilename) "\\"))
    (exit)
  );if
  (textscr)
  (princ (strcat "\n" *LastFolder))
  (setq OriginalList (vl-directory-files *LastFolder "*.dwg" 1))
  (princ (strcat "\n" (chr 160) "\n文件列表:"))
  (foreach Filename OriginalList
    (princ "\n")(princ Filename)
  );foreach
  (setq WinSortList (win_sort (vl-directory-files *LastFolder "*.dwg" 1)))
  (princ (strcat "\n" (chr 160) "\nWin_Sort list:"))
  (foreach Filename WinSortList
    (princ "\n")(princ Filename)
  );foreach
  (princ)
)
这个打开当前文件目录的程序打开了当前目录的文件列表但不能打开指定的文件有高手诊断一下修改一下吗

发表于 2015-11-2 11:34 | 显示全部楼层
打开当前文件所在文件夹
(defun c:fg ()
(startapp "explorer"
(getvar "DwgPrefix") )(prin1))

点评

爱死你了  发表于 2017-8-11 16:37
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-11-1 11:37 | 显示全部楼层
本帖最后由 winerfjy 于 2015-11-1 12:16 编辑

已经解决
(defun c:mmll(/ Filename OriginalList PathFilename WinSortList)
  (princ "\n选择要打开的文件:")(princ)
  (if (not *LastFolder)
    (setq *LastFolder (getvar "DWGPREFIX"))
  );if
  (if (setq PathFilename (getfiled " 选择要打开的文件" *LastFolder "dwg" 2))
    (setq *LastFolder (strcat (vl-filename-directory PathFilename) "\\"))
    (exit)
  );if
  (textscr)
  (princ (strcat "\n" *LastFolder))
  (setq OriginalList (vl-directory-files *LastFolder "*.dwg" 1))
  (princ (strcat "\n" (chr 160) "\n文件列表:"))
  (foreach Filename OriginalList
    (princ "\n")(princ Filename)
    (command "_ai_editcustfile" (findfile PathFilename))
  )
  (princ)
)

本帖子中包含更多资源

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

x
发表于 2015-11-1 15:44 | 显示全部楼层
改为如下试试:
  1. (defun c:mmll(/ Filename OriginalList PathFilename WinSortList)
  2.   (princ "\n选择要打开的文件:")(princ)
  3.   (if (not *LastFolder)
  4.     (setq *LastFolder (getvar "DWGPREFIX"))
  5.   );if
  6.   (if (setq PathFilename (getfiled " 选择要打开的文件" *LastFolder "dwg" 2))
  7.     (setq *LastFolder (strcat (vl-filename-directory PathFilename) "\"))
  8.     (exit)
  9.   );if
  10.   (textscr)
  11.   (princ (strcat "\n" *LastFolder))
  12.   (setq OriginalList (vl-directory-files *LastFolder "*.dwg" 1))
  13.   (princ (strcat "\n" (chr 160) "\n文件列表:"))
  14.   (foreach Filename OriginalList
  15.     (princ "\n")(princ Filename)
  16.     (command "_ai_editcustfile" (strcat *LastFolder Filename))
  17.   )
  18.   (princ)
  19. )
 楼主| 发表于 2015-11-1 16:04 | 显示全部楼层
yshf 发表于 2015-11-1 15:44
改为如下试试:

你的是打开目录内全部文件的
发表于 2015-11-2 11:42 | 显示全部楼层
没搞清楚楼主到底想做什么,但是在打开一个文件的情况下,简单的打开另一个文件,lisp程序将无法再继续。。。虽然也有办法解决,但那涉及到多文档操作。。。一般的办法根本行不通
发表于 2024-4-28 10:28 | 显示全部楼层
yshf 发表于 2015-11-1 15:44
改为如下试试:

奇怪了~
显示Error: 输入的字符串有缺陷
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-13 20:43 , Processed in 0.144578 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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