xazhji 发表于 2003-6-27 09:50:00

知道了一个文件路径,我们怎样得到其下的所有文件和子目录?

我们讨论了怎样选择路径的问题,已经有了满意的答案,大家可以查阅相关主题。
我现在的问题是:我们怎样才能得到指定目录下的所有文件和其下的子目录呢?
当然,取得文件的方法有这个函数   vl-directory-files    ,可是,不能得到子目录。
请不要用(command"sh"......),因为,此时我的对话框没有关闭,禁用command。

          再次感谢同仁们的帮忙!

xazhji 发表于 2003-6-27 10:08:00

不好意思,问题已经解决!那个命令可以列出子目录,只是我们要判断而已。

王咣生 发表于 2003-6-27 14:07:00

到底怎样解决?

到底怎样解决?能说出来吗?

meflying 发表于 2003-6-27 14:11:00

直接用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")

xazhji 发表于 2003-6-27 14:45:00

完全同意!
用 vl-file-directory-p"filename"      可判断文件名是否包含目录。

王咣生 发表于 2003-6-27 17:37:00

谢谢meflying

谢谢meflying,又向你们学到不少.

guankuiwu 发表于 2022-8-17 17:56:26

学习了,多谢!!
页: [1]
查看完整版本: 知道了一个文件路径,我们怎样得到其下的所有文件和子目录?