马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2017-3-29 00:48 编辑
 - (defun xd::doc:directorylist (location filetype mode / dirlist path allpath)
- (defun makedirlist (arg / tmplist)
- (setq tmplist (cddr (vl-directory-files arg nil -1)))
- (cond
- (tmplist (setq dirlist (append
- dirlist
- (mapcar
- '(lambda (z)
- (strcat arg "\\" z)
- )
- tmplist
- )
- )
- )
- (foreach item tmplist
- (makedirlist (strcat arg "\\" item))
- )
- )
- )
- )
- (if (not mode)
- (progn
- (mapcar
- '(lambda (x)
- (strcat location (if (not (member (substr location
- (strlen location) 1
- ) (list "/" "\\")
- )
- )
- "\\"
- ""
- ) x
- )
- )
- (vl-directory-files location (strcat "*." filetype) 1)
- )
- )
- (progn
- (makedirlist location)
- (setq dirlist (cons location dirlist))
- (foreach elem dirlist
- (if (setq path (vl-directory-files elem (strcat "*." filetype)))
- (foreach item path
- (setq allpath (cons (strcat elem (if (not (member
- (substr elem
- (strlen elem)
- 1
- )
- (list "/" "\\")
- )
- )
- "\\"
- ""
- ) item
- ) allpath
- )
- )
- )
- )
- )
- (reverse allpath)
- )
- )
- )
|