Это просто, поначалу это не очевидно. Некоторые вещи, с которых можно начать.
Чтобы разобрать имена файлов и получить имена папок, вам нужно разделить имя на список ...
set AppleScript's text item delimiters to {"."}
set fileNameComponents to (every text item in fileName) as list
set AppleScript's text item delimiters to oldDelims
--> returns: {"Elephant", "19864", "archive", "other", "pdf"}
Список имеет индекс на основе 1, поэтому пункт 1 - «Слон», пункт 5 - «pdf». Чтобы смешать имя файла вместе, все, что вам нужно, это
set theFileName to (item 1 of fileNameComponents & item 2 of fileNameComponents & item 5 of fileNameComponents) as string
Чтобы создать папку, просто используйте следующее ...
tell application "Finder"
set theNewFolder to make new folder at (theTargetFolder as alias) with properties {name:newFolderName, owner privileges:read write, group privileges:read write, everyones privileges:read write}
end tell
Чтобы переместить файл, все, что вам нужно, это ...
tell application "Finder"
set fileMoved to move theTargetFile to theTargetFolder
end tell
Чтобы переименовать файл, используйте что-то вроде следующего ...
set theFileToRename to theTargetFilePath as alias -- alias is important here
set name of theFileToRename to theFileName
Я предлагаю сначала создать список всех целевых файлов, а затем для каждого файла в списке создать папки на основе его имени, переместить файл и, наконец, переименовать его, как только он окажется в своем конечном местоположении.
Добавить соль по вкусу.