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

0

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

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 archivos en otros casos y por la inicial de alguien (BA ).

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

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

Gracias

    
pregunta Craig Skerry 05.09.2016 - 20:04

1 respuesta

1

Aquí hay algunos scripts que te ayudarán. Se basan en tener algún archivo seleccionado en el Finder. El primero examina 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 Imágenes.

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 encuentra los dos últimos caracteres antes de la extensión, como en su "BA" al final del nombre del archivo de ejemplo. Los archivos se mueven en base a esos dos últimos caracteres. El guión 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 ayudarán a comenzar. Puede usar scripts como este con Hazel, como se mencionó anteriormente en tubedogg, para archivar elementos a medida que se agregan a una carpeta.

    
respondido por el Christian Boyce 13.09.2016 - 08:55

Lea otras preguntas en las etiquetas