Non ho Snow Leopard , quindi sono limitato a ciò che posso testare come valido per il tuo sistema. Pertanto, tieni presente che la seguente soluzione è stata ideata e testata utilizzando quanto segue:
Informazioni di sistema: Versione AppleScript : "2.7", versione di sistema : "10.13.5"
Detto ciò, vedo ora che questo non dovrebbe funzionare su El Capitan . potrebbe lavorare su Snow Leopard , ma sono meno sicuro.
La mia soluzione proposta è quella di sostituire l'azione Spotlight
Automator con un'azione Run AppleScript
:
IlcodicecontenutoinRunAppleScript
èilseguente:
useframework"Foundation"
property ca : a reference to current application
on run {input, parameters}
set MusicFolder to "/Volumes/Media/Music/iTunes/iTunes Music/Music/"
set FileManager to ca's NSFileManager's defaultManager()
set MusicFiles to (FileManager's subpathsAtPath:MusicFolder)'s ¬
pathsMatchingExtensions:{"mp3", "m4a"}
set [filename] to input
set format to "SELF endswith " & ("/" & filename & ".mp3")'s quoted form & ¬
" OR SELF endswith " & ("/" & filename & ".m4a")'s quoted form
set filter to ca's NSPredicate's predicateWithFormat:format
set matches to {}
repeat with match in (MusicFiles's filteredArrayUsingPredicate:filter) #'
set end of matches to POSIX file (MusicFolder & match as text) as alias
end repeat
return matches
end run
Ciò restituirà le tracce con il nome esatto fornito dalla variabile trackName
nel flusso di lavoro. Pertanto, se avessi impostato trackName
nella mia esecuzione di prova su "Everywhere I Go"
(cioè senza il precedente "04"
), la ricerca avrebbe restituito un risultato vuoto.
Inoltre, tieni presente che potresti avere alcune tracce che hanno nomi di file identici da diverse cartelle / album. Se ci sono due file in cartelle diverse entrambi chiamati "01 Song.mp3"
, entrambi i file verranno restituiti nella ricerca.