Azione automatica cartella per rinominare i file aggiunti alla cartella con nomi casuali

1

Sto creando un database su Filmaker Pro (FMP) di immagini che verranno archiviate in una cartella. Vorrei che questa cartella avesse un'azione automatica in cui posso, occasionalmente, trascinare uno o più file di immagine nella cartella e i loro "nomi di battere" verranno automaticamente rinominati con un'unica stringa di serie alfanumerica casuale (dieci) che non si scontrerà con qualunque nomi di file già nella cartella.

C'è un AppleScript intelligente o altra tecnica per fare questo? Sono un utente di livello medio, so solo come usare Automator, dove non può essere fatto.

In mancanza di una soluzione automatica, potrei usare un generatore di stringhe casuale e cambiare i nomi dei file manualmente.

    
posta Alex_V 31.05.2017 - 08:53
fonte

1 risposta

1

Ok approccio total different.

Utilizza solo AppleScript.

Passaggio 1: crea cartelle (input e output)

Passaggio 2: Crea script

on adding folder items to theAttachedFolder after receiving theNewItems

    set text item delimiters to "."

    set outputFolder to POSIX file "/Users/YOURUSERNAME/Desktop/random/output/"

    tell application "Finder"
        set all_files to every item of theNewItems as list

        --now we start looping through all selected files. 'index' is our counter that we initially set to 1 and then count up with every file.
        repeat with index from 1 to the count of all_files

            set x to ""
            repeat 10 times
                set x to x & some item of "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
            end repeat

            set new_name to x

            --using our index, we select the appropriate file from our list
            set this_file to item index of all_files
            set file_name_count to text items of (get name of this_file)

            --lets check if the current file from our list (based on index-number) has even any file-extension
            if number of file_name_count is 1 then
                --file_name-count = 1 means, we extracted only 1 text-string from the full file name. So there is no file-extension present.
                set file_extension to ""
            else
                --yup, we are currently processing a file that has a file-extension
                --we have to re-add the original file-extension after changing the name of the file!
                set file_extension to "." & item -1 of file_name_count
            end if
            --let's rename our file and add the file-extension to it
            set dupeFile to duplicate this_file to outputFolder
            delete this_file
            set the name of dupeFile to new_name & file_extension as string


        end repeat
    end tell

end adding folder items to

Passaggio 3: Salva script in ~ / Libreria / Script / Script di azioni cartella /

Passaggio 4: fare clic con il pulsante destro del mouse sulla cartella di input > Servizi > Impostazione azione cartella

Passaggio5:collegareloscriptallacartella.

Partesinistraaggiungilatuacartelladiinput,faiclicsullacartellanellalistadisinistra.Nellalistadidestrascegliiltuoscript.

Passaggio 6: aggiungere un gruppo di file nella cartella di input. Ricevono nomi casuali nella cartella di output e vengono eliminati dalla cartella di input.

Non dimenticare di cambiare il valore outputFolder all'interno dello script!

    
risposta data 31.05.2017 - 09:34
fonte

Leggi altre domande sui tag