Come altri hanno risposto, è difficile sapere esattamente cosa stai cercando senza i dettagli. Questo AppleScript dovrebbe essere un buon punto di partenza e puoi adattarlo alle tue esigenze. Ti verrà richiesto di identificare una cartella che contiene i file che desideri inserire nelle sottocartelle. Ho messo in cima una proprietà chiamata removePeriods, che puoi impostare su true o false (senza virgolette). Se è vero, rimuoverà tutti i periodi dal nome del file e userà quel nome per creare una cartella. Ovviamente, puoi modificare quella che è la punteggiatura che desideri. Potresti ulteriormente escludere anche altri segni di punteggiatura. Alla fine, prende il file e lo sposta nella nuova cartella.
property rootFolder : ""
property removePeriods : true
--Assuming all the files you want to move are in one folder.
if rootFolder is "" then
set rootFolder to choose folder
end if
--Get a list of every visible file in the folder (assuming you don't want to process hidden files)
tell application "System Events" to set myFiles to ¬
every file in rootFolder whose visible is true
repeat with aFile in myFiles
--Get the file name
set aName to name of aFile
--If removePeriods property above is set to true, take all the periods out of the file name
if removePeriods then
set tid to text item delimiters
set text item delimiters to "."
if (count of text items of aName) is greater than 2 then
set aName to text items 1 through ((count of text items of aName) - 1) of aName
else
set aName to text item 1 of aName
end if
set text item delimiters to tid
set aName to every item of aName as text
end if
--Make a new folder with the name of the file, inside the rootFolder (the original folder you selected
tell application "Finder"
set newFolder to make new folder at rootFolder with properties {name:aName}
move (aFile as alias) to newFolder
end tell
end repeat
Se hai una cartella all'interno di cartelle, questo è un altro livello ma può essere fatto con un altro ciclo. Se vuoi che tutte le nuove cartelle con i file in esse siano posizionate in una nuova posizione, devi solo aggiungere quel percorso. Se si desidera rimuovere solo il nome prima del primo segno di punteggiatura per creare la cartella, è possibile impostare a Nome solo la prima voce di testo. Probabilmente vorrai anche aggiungere un assegno per assicurarti che non ci sia già una cartella con il nome che stai creando.
EDIT: su richiesta di un altro utente, aggiungo una nota per chiarire perché ho impostato rootFolder su una proprietà piuttosto che su una variabile standard. Nella foto sopra, sembra che tutti i file dell'OP si trovino nella cartella dei filmati. Una proprietà, in AppleScript (e in termini semplici), è una variabile che viene salvata (memorizzata) tra le esecuzioni. Verrà salvato fino a quando lo script sarà nuovamente compilato, momento in cui verrà impostato su "". Una variabile normale non avrà memoria di una precedente esecuzione dello script. Ho scelto di rendere rootFolder una proprietà in modo che l'utente non debba selezionare manualmente la cartella da elaborare in ogni esecuzione, solo la prima. Tuttavia, è possibile sostituire l'inizio dello script tramite "end if" con le seguenti due righe di codice:
set rootFolder to choose folder
set removePeriods to true
È anche possibile codificare il percorso della cartella anziché farlo selezionare all'utente. Ci sono molte opzioni Dovrei anche dire di nuovo che questa non è una sceneggiatura finita pensata per l'uso finale, l'ho creata come un punto di partenza. Tuttavia, ho usato questa base come parte di uno script molto più grande e più complicato, per riorganizzare più di 500.000 file raggruppati in cartelle con un nome univoco, quindi sono fiducioso nella struttura.