1 votos

Estoy tratando de crear un AppleScript que filtre ciertos archivos en diferentes carpetas

Tengo varios archivos / tipos, generalmente etiquetados de esta manera:

000_160905_Iceman_Rumble_BA.jpg

Habrá una variedad de jpegs, PSD's, modelos, etc. y necesito encontrar una forma automatizada de archivarlos en varias carpetas por fecha en algunos casos, por tipos de archivo en otros casos y por la inicial de alguien (BA).

¿Existe una forma en AppleScript, donde pueda seleccionar ciertos caracteres de un tipo de archivo (por ejemplo, la fecha en el archivo anterior), para sincronizar automáticamente a otra carpeta de mi elección?

Si alguien pudiera ayudarme aquí, ¡me salvaría de verdad!

Gracias

0 votos

Eso es definitivamente posible en AppleScript y se lo dejaré a gente más versada que yo para que muestren cómo. También podrías considerar algo como Hazel que hace exactamente lo que quieres.

0 votos

Gracias tubedog, lo comprobaré. Debe haber una manera en applescript para seleccionar qué caracteres de un nombre de archivo puede gobernar donde se enviarán automáticamente..

0 votos

¿Es AppleScript un MUST o un shell script estaría bien también? La selección de elementos a partir de cadenas/nombres de archivo podría ser más fácil de realizar en bash .

1voto

Seif Puntos 121

Aquí tienes unos scripts que te ayudarán. Se basan en tener algún archivo seleccionado en el Finder. El primero mira cada archivo, uno a la vez, y si la extensión del archivo es jpg o png o gif, el archivo se mueve a la carpeta Pictures.

tell application "Finder"
    set folder_one to path to desktop
    set folder_two to path to pictures folder
    set the_files to the selection
    repeat with a_file in the_files
        if name extension of a_file is in {"jpg", "png", "gif"} then
            move a_file to folder_two
        end if
    end repeat
end tell

El segundo script busca los dos últimos caracteres antes de la extensión, como en su "BA" al final del nombre de su archivo de ejemplo. Los archivos se mueven basándose en esos dos últimos caracteres. El script no está tan bien escrito como podría ser, pero quería que pudieras leerlo y entender lo que está pasando.

tell application "Finder"
    set folder_one to path to desktop
    set folder_two to path to pictures folder
    set the_files to the selection
    repeat with a_file in the_files
        set the_name to name of a_file
        set the_extension to name extension of a_file
        set the_extension_length to count of characters of the_extension
        set the_extension_length to the_extension_length + 1 -- for the dot
        set the_short_name_length to (count of characters of the_name) - the_extension_length
        set the_short_name to characters 1 thru the_short_name_length of the_name as string
        -- Now we have "just the name" (no dot, no extension)
        set the_last_two_characters to characters -2 thru -1 of the_short_name as string
        -- do stuff here, based on what those last two characters are
        if the_last_two_characters = "AB" then
            move a_file to folder_one
        end if
        --
        if the_last_two_characters = "XY" then
            move a_file to folder_two
        end if
    end repeat
end tell

Esos scripts te servirán para empezar. Puedes usar scripts como este con Hazel, como mencionó tubedogg antes, para archivar elementos a medida que se añaden a una carpeta.

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