Una tecla de acceso rápido para mover un archivo a través de directorios (MacOS)

0

¿Hay teclas de acceso rápido para mover carpetas hacia arriba o hacia abajo a través de carpetas y subcarpetas principales en MacOS?

p.ej. En este sencillo ejemplo, quiero mover el Archivo 1234.pdf a la Carpeta A, lo que dejaría la Subcarpeta A vacía. Lo ideal sería poder hacer esto usando solo el teclado. Puntos de bonificación: una tecla de acceso rápido para volver a seleccionar la última subcarpeta seleccionada (para que pueda eliminar, cambiar el nombre, etc.).

- Folder A
   - Subfolder A
      -File 1234.pdf 
- Folder B
Gryph
fuente
1
No hay una tecla de acceso directo incorporada para eso, pero puede crear acciones de archivo personalizadas con Alfred. Alfred también tiene teclas de acceso directo integradas para seleccionar el archivo actual y moverlo a cualquier carpeta (usando una coincidencia aproximada). Requiere el Powerpack sin embargo: alfredapp.com/powerpack
slhck
Intenta preguntar aquí: apple.stackexchange.com
HackSlash
1
@slhck No hay necesidad de usar Alfredo . Puedes crear un Descubridor Servicio con un atajo de teclado que lo hará por usted.
CJK
1
@CJK Claro, técnicamente no hay necesidad de eso, es mucho más trabajo :)
slhck
1
@slhck Sí, como lo descubrí. ¡Me tomó años escribir y probar el guión en mi respuesta a continuación!
CJK

Respuestas:

2

Me disculpo por la demora en responderle con mi respuesta. Ha sido más desafiante de lo que había anticipado.

Pero es posible lograr lo que quieres creando un Servicio en Automatizador , que luego será accesible a través de un atajo de teclado (tecla de acceso directo).

Tendrás que seguir Esta guía sobre cómo hacer un servicio en todo el sistema. .


Comience por crear un nuevo servicio en Automatizador . Tendrá que recibir archivos o carpetas como entrada, y estar disponible en Descubridor .

Agrega un Ejecutar AppleScript Acción al flujo de trabajo. En el área de texto de esa acción, se puede copiar y pegar el siguiente AppleScript:

    use Finder : application "Finder"

    property F_ : missing value -- The previous folder
    property f : missing value -- The files that we moved
    property home : Finder's home as alias


    on run {f, _}
      get its ParentFolderOf:(some item in f)
      set there to the result -- The destination folder, one level up

      -- We won't navigate any higher up the folder tree than
      -- the home folder
      if (its ParentFolderOf:home) is in there then return

      -- Also don't apply this service to other folders that aren't
      -- in the same branch of the folder tree as the home folder
      if (there as text) does not begin with (home as text) then return

      -- The folder we're currently at
      tell Finder to set F_ to ¬
        (the container of some item in f) as alias

      -- Check to ensure there are no files in the destination folder
      -- that risk being overwritten.  If there are, we won't move
      -- the files who share the same name, i.e. only move those that 
      -- are safe to move.
      tell Finder to ¬
        repeat with _g in f
          get name of _g
          set g to [there as text, result] as text
          if not (g exists) then set end of f to _g
          set f to the rest of f
        end repeat

      -- Move the files
      tell Finder ¬
        to set f ¬
        to (move f to there) ¬
        as list as alias list

      -- Reveal them
      reveal f
      activate Finder
    end run


    to ParentFolderOf:(f as alias)
      local f

      set F_ to [f, "::"] as text as alias

      if (f as text) ends with ":" then return F_

      return its ParentFolderOf:F_
    end ParentFolderOf:

Guarda el servicio como quieras. Automatizador Lo guarda automáticamente en la ubicación correcta ( ~ / Biblioteca / Servicios ). Yo salvé la mía como "Ascender en Finder" .

A continuación, tienes que crear un atajo de teclado. Esto se hace a través de Preferencias del Sistema :

Keyboard shortcuts

En la lista de servicios, deberá desplazarse hacia abajo hasta la sección marcada Archivos y carpetas , bajo la cual debe aparecer el nombre de su servicio. Puedes ver el mío resaltado. Creé el atajo para mi ( Ctrl + Arriba ).

Ahora, cada vez que selecciono archivos y / o carpetas en Descubridor y presione , esos archivos y carpetas ascienden un nivel por la jerarquía a su carpeta principal. Si quiero devolverlos, puedo presionar Z para deshacer el movimiento.

Puse un resguardo para que los archivos y carpetas no se muevan más arriba en el árbol de carpetas que en la carpeta de inicio. Es poco probable que lo necesites de todos modos.

CJK
fuente
1

Si trabaja en la vista de columnas, puede navegar solo con las teclas de flecha.

Para su ejemplo, asumiendo que comienza con su archivo seleccionado ...

  • Cmd ⌘ do copiar

  • Flecha izquierda [esto seleccionará la subcarpeta A], así que para puntos de bonificación ...

    • Introduce ⌅ te permitirá renombrarlo, o Cmd ⌘ Retroceso ⌫ para borrarlo
      [Esto no perderá su archivo actualmente en el búfer de copia]
  • Flecha izquierda [esto seleccionará la carpeta A] *

  • Cmd ⌘ Optar ⌥ V para mover

Esta es la estructura tal como aparece al principio.

enter image description here

y otra vez al final [después de haber eliminado la Subcarpeta A en nuestro camino pasado]

enter image description here

* Debido a que no se menciona en ninguna parte de la respuesta, en este punto la flecha hacia abajo seleccionaría la carpeta B

Tetsujin
fuente