(defun n-level-deep (directory n)
"Recursively searches a DIRECTORY Nth-level deep, returns a list of all files"
(interactive)
(let* ((current-level)
(results))
(dotimes (i n)
(if (null current-level)
(setq current-level (directory-files directory
t
directory-files-no-dot-files-regexp))
(setq current-level
(mapcan (lambda (item)
(when (file-directory-p item)
(directory-files item
t
directory-files-no-dot-files-regexp)))
current-level)))
(setq results (append results current-level)))
results))
This is faster than Lee's version on deeper levels
http://xahlee.info/emacs/emacs/elisp_walk_dir_depth.html