明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2344|回复: 5

如何判断一个文件是否存在?能否给个具体例子,向大家请教!!!

[复制链接]
发表于 2004-11-25 16:20:00 | 显示全部楼层 |阅读模式
如何判断一个文件是否存在?能否给个具体例子,向大家请教!!!
发表于 2004-11-25 16:26:00 | 显示全部楼层
搜索一下,搜到了就有,搜不到就没有


本帖子中包含更多资源

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

x
发表于 2004-11-28 11:50:00 | 显示全部楼层
他说的LISP
发表于 2004-11-28 11:53:00 | 显示全部楼层
用 FINDFILE 函数 如果没有则返回 nil,如果有返回包含全路径的文件名 --------------------------------------------- 帮助文件内容 在 AutoCAD 库路径中搜索指定文件或目录
(findfile filename) findfile 函数对要搜索的文件类型或 filename 的扩展名不作假定。如果在 filename 中没有指定驱动器/目录前缀,findfile 函数在 AutoCAD 的库目录范围内搜索。如果指定了驱动器/目录前缀,findfile 仅在指定的目录下搜索。 参数 filename 要搜索的文件或目录的名称。 返回值 返回包含全路径的文件名。如果未找到指定文件或目录,则返回 nil。
发表于 2004-12-1 00:03:00 | 显示全部楼层
今晚刚研究的成果,分享一下: (setq filelist (vl-directory-files (getvar "dwgprefix") nil 1))
;; 当前目录下所有文件名列表 (setq n 0 filebe "No") ;;当前目录下,文件不存在,变量filebe=No (repeat (length filelist) ;;文件列表的长度
(if (= (nth n filelist) fjm0) (setq filebe "Yes")) ;;文件已经存在时,变量filebe=yes ,其中fjm0为你要判断存在的文件 (setq n (+ n 1)) ;;按表中元素个数循环
)
发表于 2004-12-9 10:47:00 | 显示全部楼层
5楼的想法很好,但如果仅仅是确定一个文件是否存在,findfile函数就行了。 以下是说明及用法: 在 AutoCAD 库路径中搜索指定文件或目录
(findfile filename) findfile 函数对要搜索的文件类型或 filename 的扩展名不作假定。如果在 filename 中没有指定驱动器/目录前缀,findfile
函数在 AutoCAD 的库目录范围内搜索。如果指定了驱动器/目录前缀,findfile 仅在指定的目录下搜索。 参数 filename 要搜索的文件或目录的名称。 返回值 返回包含全路径的文件名。如果未找到指定文件或目录,则返回 nil。
findfile 返回的文件名可供 open 函数使用。 样例 如果当前目录为 /acad2000 且其中包含文件 abc.lsp,则下面的函数调用可获取路径名: 命令:(findfile "abc.lsp") "C:\\Program Files\\ACAD2000\\abc.lsp" 如果当前正在编辑的图形文件在 /acad2000/drawings 目录下,且环境变量 ACAD 被设为 /acad2000/support,而文件 xyz.txt 仅存在于 /acad2000/support 目录下,则下面函数可获取路径名: 命令:(findfile "xyz.txt") "C:\\Program Files\\ACAD2000\\support\\xyz.txt" 如果在库搜索路径中不存在文件 nosuch,则 findfile 返回 nil: 命令:(findfile "nosuch") nil 请注意在 AutoCAD R14 以前的版本中,如果提供有效文件名作为参数,则 findfile 进返回路径。如果制订了路径,则即使路径存在,findfile 也会返回 nil。例如,下面的 findfile 调用在 AutoCAD 2000 中返回路径名: 命令:(findfile "c:/program files/acad2000") "C:\\program files\\acad2000" 而在 AutoCAD Release 13 中,同样的命令返回 nil。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-30 02:16 , Processed in 0.186642 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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