Sto provando a creare un AppleScript che filtri determinati file in diverse cartelle

0

Ho vari file / tipi, solitamente etichettati in questo modo:

000_160905_Iceman_Rumble_BA.jpg

Ci saranno una varietà di jpeg, PSD, modelli ecc. e ho bisogno di trovare un modo automatico per archiviarli in varie cartelle in base alla data in alcuni casi, in base a tipi di file in altre istanze e all'inizio di qualcuno (BA ).

C'è un modo in AppleScript, in cui puoi selezionare determinati caratteri da un tipo di file (ad esempio la data nel file sopra), per sincronizzarti automaticamente su un'altra cartella di mia scelta?

Se qualcuno potesse aiutarmi qui mi risparmierebbe davvero!

Grazie

    
posta Craig Skerry 05.09.2016 - 20:04
fonte

1 risposta

1

Ecco alcuni script che ti aiuteranno. Si basano sull'avere selezionato un file nel Finder. Il primo guarda ogni file, uno alla volta, e se l'estensione del file è jpg o png o gif, il file viene spostato nella cartella Immagini.

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

Il secondo script trova gli ultimi due caratteri prima dell'estensione, come nel tuo "BA" alla fine del nome del file di esempio. I file vengono spostati in base a questi ultimi due caratteri. La sceneggiatura non è scritta così strettamente come potrebbe essere ma volevo che tu sia in grado di leggerlo e capire cosa sta succedendo.

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

Questi script ti faranno iniziare. È possibile utilizzare script come questo con Hazel, come menzionato in precedenza da tubedogg, per archiviare gli elementi man mano che vengono aggiunti a una cartella.

    
risposta data 13.09.2016 - 08:55
fonte

Leggi altre domande sui tag