lockmyeye 发表于 2004-2-10 01:58:00

[原创]搜索目录下文件

;;;搜索目录下文件
;;;(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
)

flowerson 发表于 2012-2-7 21:14:08

加上 可以搜索文件夹那就更棒了!

fdb2007 发表于 2012-5-5 12:30:30

编程有用,学习了

清风明月名字 发表于 2013-12-10 19:35:38

谢谢楼主的分享,非常好,收藏备用了!

峰峰兒 发表于 2013-12-11 07:35:26

页: [1]
查看完整版本: [原创]搜索目录下文件