No modo batch, faça um loop sobre os argumentos.
emacs --batch -l cl --eval '
(dolist (filename command-line-args-left)
(find-file filename)
(indent-region (point-min) (point-max))
(save-buffer)
(kill-buffer))'
A partir de dired, use a macro dired-map-over-marks
de dired.el
ou a função dired-map-over-marks-check
de dired-aux.el
.
(dired-map-over-marks-check indent-buffer nil 'indent)