J'essaie d'organiser un grand nombre de livres audio et j'aimerais automatiser une partie du travail. Je n'ai qu'une connaissance très basique d'Applescript, mais je peux généralement trouver un scriptlet en ligne pour faire le travail que je veux. Je n'ai pas encore réussi à faire fonctionner celui-ci. Mes fichiers se présentent comme suit :
Livres/Auteur1/Livre.mp3
Books/Author2 - Book.mp3
Livres/Author3/Livre.mp3
Ce que je veux faire, c'est sélectionner les livres qui ne sont pas dans un sous-dossier Auteur, créer un sous-dossier avec le nom de l'auteur, renommer le fichier avec le seul titre du livre et enfin déplacer le livre dans le dossier nouvellement créé. J'ai essayé le script suivant et il fonctionne en partie. Il fait tout sauf déplacer le fichier à la fin. Je reçois un message d'erreur qui dit "error "Finder got an error : Handler can't handle objects of this class." nombre -10010". Existe-t-il un moyen de le modifier pour qu'il fonctionne ? Si cela fait une différence, les fichiers sont sur un lecteur attaché (smb://NAS._smb._tcp-local/Audiobooks/Books). Il y a probablement des erreurs de syntaxe pour les puristes, mais tant que ça marche, je ne suis pas difficile :)
tell application "Finder"
set selectedFiles to selection as alias list
set containingFolder to container of item 1 of selectedFiles as alias
repeat with f from 1 to count of selectedFiles
set thisItem to item f of selectedFiles
set oldName to thisItem's name
set newFolderName to text 1 thru ((get offset of "-" in oldName) - 2) of oldName
set newFileName to text ((get offset of "-" in oldName) + 2) thru end of oldName
set name of thisItem to newFileName
move newFileName to (make new folder at containingFolder with properties {name:newFolderName})
end repeat
end tell