知道了一个文件路径,我们怎样得到其下的所有文件和子目录?
我们讨论了怎样选择路径的问题,已经有了满意的答案,大家可以查阅相关主题。我现在的问题是:我们怎样才能得到指定目录下的所有文件和其下的子目录呢?
当然,取得文件的方法有这个函数 vl-directory-files ,可是,不能得到子目录。
请不要用(command"sh"......),因为,此时我的对话框没有关闭,禁用command。
再次感谢同仁们的帮忙! 不好意思,问题已经解决!那个命令可以列出子目录,只是我们要判断而已。
到底怎样解决?
到底怎样解决?能说出来吗? 直接用vl-directory-files——————《autolisp参考》————————————————
(vl-directory-files)
参数
directory
字符串,指定要收集文件的目录。如果未指定该参数或参数为 nil,vl-directory-files 使用当前目录。
pattern
字符串,包含文件名的 DOS 方式。如果未指定该参数或参数为 nil,vl-directory-files 假定为 "*.*"
directories
整数型,指定返回的表中是否包含路径名。可以指定下列值之一:
-1仅列出目录。
0 列出文件和目录(缺省值)。
1 仅列出文件。
返回值
文件和路径列表。如果没有符合指定方式的文件,则返回 nil。
样例
_$ (vl-directory-files "c:/acadwin" "acad*.exe")
("ACAD.EXE" "ACADAPP.EXE" "ACADL.EXE" "ACADPS.EXE")
_$ (vl-directory-files "e:/acadwin" nil -1)
("." ".." "SUPPORT" "SAMPLE" "ADS" "FONTS" "IGESFONT" "SOURCE" "ASE")
_$ (vl-directory-files "E:/acad13c4" nil -1)
("." ".." "WIN" "COM" "DOS") 完全同意!
用 vl-file-directory-p"filename" 可判断文件名是否包含目录。
谢谢meflying
谢谢meflying,又向你们学到不少. 学习了,多谢!!
页:
[1]