[原创]搜索目录下文件
;;;搜索目录下文件;;;(findfiles_in_dir "E:\\" "*.DWG" T)
;;;find_dir搜索目录
;;;file_type文件匹配符
;;;find_subdir是否搜索子目录
(DEFUN findfiles_in_dir (find_dir file_type find_subdir / result tmp)
(SETQ find_dir (VL-STRING-TRANSLATE "\\" "/" find_dir) ;_目录名的\转为/
find_dir (IF (= "/" (SUBSTR find_dir (STRLEN find_dir)))
find_dir
(STRCAT find_dir "/")
) ;_目录名最后必须以/结束
)
;;检索选择目录下的文件
(SETQ result (MAPCAR '(LAMBDA (x) (STRCAT find_dir x)) (VL-DIRECTORY-FILES find_dir file_type 1)))
;;检索选择子目录下的文件
(IF find_subdir
(MAPCAR '(LAMBDA (x)
(IF (NOT (WCMATCH x ".,.."))
(IF (SETQ tmp (findfiles_in_dir (STRCAT find_dir x) file_type find_subdir))
(SETQ result (APPEND result tmp))
)
)
)
(VL-DIRECTORY-FILES find_dir "*.*" -1)
)
)
result
) 加上 可以搜索文件夹那就更棒了! 编程有用,学习了 谢谢楼主的分享,非常好,收藏备用了!
页:
[1]