Я пишу сценарий Apple, который в конечном итоге будет помечать рекламу для всего экспорта iTunes из EyeTV. Но я столкнулся с простой проблемой с путями AppleScript, которые приложение EyeTV возвращает в качестве мест записи. Вот контекст:
set recordingID to 370404006
set myid to recordingID as integer
tell application "EyeTV"
set eyetvr_file to get the location of recording id myid as alias
end tell
return eyetvr_file
псевдоним "Macintosh HD2:Документы:Архив EyeTV:Южный парк.eyetv:000000001613eaa6.eyetvr"
Теперь мне нужно извлечь содержащий путь и префикс файла 000000001613eaa6 (используя этот вопрос), поэтому я могу поискать соответствующие коммерческие маркировки в файле 000000001613eaa6.edl. Вот икота:
tell application "Finder"
set eyetv_path to container of eyetvr_file
set root_name to name of eyetvr_file
set fext to name extension of eyetvr_file
end tell
Результаты таковы,
eyetv_path: файл документа "Южный парк.eyetv" папки "Архив EyeTV" папки "Документы" диска "Macintosh HD2" приложения "Finder"
root_name: "000000001613eaa6.eyetvr"
текст: ""
fext должен быть ".eyetvr", а не пустой строкой. Как правильно извлечь «.eyetvr» из файла eyetvr_file или root_name? Я пробовал кучу взлома, как
set fext to name extension of (eyetvr_file as document)
Но это дает ошибку, например,
ошибка «Не удается преобразовать псевдоним \"Macintosh HD2:Documents:EyeTV Archive:South Park.eyetv:000000001613eaa6.eyetvr\" в тип документа». номер -1700 из псевдонима "Macintosh HD2:Documents:EyeTV Archive:South Park.eyetv:000000001613eaa6.eyetvr" в документ