Вы можете определить два типа Dired: плоский и рекурсивный.Например:
(defun op-i:dired (rec)
"customized dired: will display directory recursively when called with an argument"
(interactive "P")
(let ((dir (car (find-file-read-args "Dired: " nil)))
(opts (if rec (read-string "options: " "-lhAR") "-lhA")))
(if (file-directory-p dir) (dired dir opts))))
(define-key (current-global-map) (kbd "C-x C-d") 'op-i:dired)
Затем при вызове этой функции с помощью C-u C-x C-d
будет рекурсивно отображаться Dired, а с помощью C-x C-d
это будет выполняться как обычно.
После рекурсивного отображения Dired вы можете удалить резервные копии илиделать другие вещи тоже рекурсивно.