Вот еще одна мысль, хотя я не проверял.Одной вещью, которая может вызвать проблемы, является команда «получить».В общем, когда вы запускаете команду типа «имя меня», подразумевается команда get, поэтому вы действительно запускаете команду «получить имя меня».Проблема в том, что подразумеваемое «получить» не всегда так.Поэтому иногда вы должны явно сказать «получить».Всякий раз, когда у меня возникает проблема, как у вас, первое, что я пытаюсь сделать, это добавить «get» к команде ... это стало привычкой, потому что вы просто никогда не знаете.Обратите внимание, что вы всегда можете использовать слово get и никогда не иметь такой проблемы.Поэтому попробуйте изменить команду на «my_name (get name of me)».Мне было бы интересно узнать, решит ли это вашу проблему с 10.5.Также обратите внимание, что имя уже является строкой, поэтому нет необходимости приводить результат к строке.
РЕДАКТИРОВАТЬ: Я просмотрел некоторые из моих старых сценариев.Я использовал следующий код, чтобы получить имя.В моих заметках у меня есть эти комментарии ...
- это даст название приложения или скрипта без расширения файла
- это делается с использованием пути, потому что когда скриптзапускается из меню сценария, и вы пишете установить myName на имя меня, а затем результат «яблочный бегун» вместо действительного имени
- также он гарантирует, что вы получаете имя в том виде, как онопоявляется в Finder, потому что иногда имя процесса системных событий отличается от имени Finder
on getMyName()
set myPath to path to me as text
if myPath ends with ":" then
set n to -2
else
set n to -1
end if
set AppleScript's text item delimiters to ":"
set myName to text item n of myPath
if (myName contains ".") then
set AppleScript's text item delimiters to "."
set myName to text 1 thru text item -2 of myName
end if
set AppleScript's text item delimiters to ""
return myName
end getMyName