2 votos

Applescript Mover el archivo actual a la carpeta

Quiero crear un script que tome la selección de archivos actual y la mueva a una carpeta ya existente. Luego duplicaré este código para otras 9 carpetas y les asignaré todos los atajos de teclado.

Mi aplicación es bastante específica y desafortunadamente necesito usar el Finder para monitorear rápidamente las muestras de audio en lugar de la Terminal. (Estoy vadeando miles de muestras de audio, borrándolas y clasificándolas en subcarpetas).

La idea es muy simple:

tell application "Finder"
    move selection to alias "Users:Jordan:Desktop:0"
end tell

Este código funciona; sin embargo, luego procede a mover la carpeta principal del archivo de destino a la carpeta de destino. Esta acción hace que el script sea contraproducente e inútil. Intenté la misma idea en Automator, pero tampoco sirvió de nada. He hecho largos para tratar de evitar que el tell también mueva la carpeta, pero nada ha funcionado.

No entiendo por qué una función tan simple puede ser tan difícil y por qué no importa cuántas variables emplee para hacer la selección estática, o cuántos condicionales o retrasos añada, el script sigue moviendo el archivo en folder A a folder B Entonces el folder A en folder B .

¿Cómo me muevo file en folder A en folder B sin moverse folder A en ella también?

0 votos

Gracias por las respuestas. He probado las 3 sugerencias, pero sin éxito. Algunas funcionan en automator con el botón de reproducción. Sin embargo, fallan como accesos directos. La sección del Finder en la navegación superior parpadea como si el servicio se ejecutara, pero no pasa nada. Tomé una captura de pantalla de lo que tengo, pero no estoy seguro de si puedo subir una foto a este sitio. Me ahorraría un montón de palabras...

3voto

Tetsujin Puntos 23061

Esto podría ser un poco un enfoque de mazo por parte de Applescript comparado con el comando de "movimiento" de Automator, pero como así es como lo aborda el OP...

Para hacerlo como un Servicio de Automóviles, para que sea fácil de ponerlo en marcha

El servicio recibe los "archivos o carpetas" seleccionados en el "Finder".

on run {input, parameters}   

    tell application "Finder"
        set selected_items to selection
        set theFolder to ((((path to desktop folder) as text) & "test") as alias)
        repeat with x in selected_items
            move x to theFolder
        end repeat      
    end tell    

    return input
end run

1voto

les Puntos 363

En realidad, yo usaría Automator.

Organiza un servicio y llámalo como quieras.

En la pestaña "Acciones" seleccione "Archivos y carpetas". Luego haga doble clic/seleccione "Mover elementos del buscador".

Entonces selecciona la ubicación a la que quieres que se muevan dichos artículos. Guárdalo y luego puedes añadirlo a los atajos de teclado personalizados.

Para ello, vaya a "Preferencias del sistema" y en "Teclado" seleccione "Atajos de aplicaciones". A continuación, haga clic en el signo "+" y añada el nombre con el que se guardó su aplicación de automación.

¡Entonces pruébalo!

0 votos

Un segundo no se si has editado el post o he leído mal

1voto

anori Puntos 11

Sé que esto es viejo, pero lo estoy haciendo con estas pocas líneas de código:

tell application "Finder"
    move selection to folder ((path to home folder as string) & "Dropbox:Folder 01")
end tell

Funciona con archivos individuales y múltiples.

0voto

Tim Brigham Puntos 8727
tell application "Finder"
    repeat with thisFolder in (items of (get selection))
        repeat with thisItem in (get items of thisFolder)
            move thisItem to (POSIX file "/Users/Jordan/Desktop/0/")
        end repeat
    end repeat
end tell

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X