¿Cómo mover archivos marcados o archivos bajo el punto en dired a un directorio predefinido?

Pregunta:

Estoy tratando de crear una función simple para dired donde podría llamar a la función en archivos actuales (o marcados) y luego mover rápidamente los archivos actuales (o marcados) a un directorio predefinido.

Sé que necesito escribir una función y usar dired-do-rename pero no tengo claros otros pasos (no tengo habilidades de codificación :))

Esto es lo que tengo hasta ahora:

(defun z/dired-move-2home ()
  (interactive)
  (dired-do-rename FILE/MARKED FILES "~/Downloads"))

Respuesta:

La siguiente solución anula temporalmente el dired-dwim-target-directory para simplemente devolver cualquier valor que establezca en la variable temporal default-dest-dir . En este ejemplo, ese valor se establece en "/my/default/to/dir" . Deberá establecerlo en su directorio de destino predeterminado.

(defun my/dired-do-rename (&optional arg)
  (interactive "P")
  (cl-letf* ((default-dest-dir "/my/default/to/dir")
             ((symbol-function 'dired-dwim-target-directory)
              (lambda ()
                default-dest-dir)))
    (call-interactively #'dired-do-rename)))
(define-key dired-mode-map (kbd ";") #'my/dired-do-rename)

Como usar esto

  1. Marque los archivos en dired que necesita mover a default-dest-dir , usando la tecla m .
  2. Hit ; , que está vinculado a my/dired-do-rename arriba.
  3. Verá el campo del minibúfer precargado con el default-dest-dir .
  4. Presione RET para continuar (o modifique el directorio precargado si es necesario).

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım