Ваша самая большая проблема в том, что вы используете путь в стиле posix (используя косую черту), когда вы должны использовать путь в стиле mac (с двоеточиями). Applescript использует пути, разделенные двоеточиями. Мы можем конвертировать между ними, используя «путь posix» для перехода от двоеточия к косой черте и «файл posix» для перехода от косой черты к двоеточию.
И вы не можете просто передать путь в виде строки. В яблочном скрипте мы используем спецификаторы файлов ... именно поэтому я поставил слово file перед путем к строке. Так что это работает, как только мы это исправим.
set posixPath to "/Users/abc/Downloads/02331_veiledinclouds_2560x1600.jpg"
set macPath to (POSIX file posixPath) as text
tell application "URL Access Scripting"
download "http://interfacelift.com/wallpaper_beta/grab/02331_veiledinclouds_2560x1600.jpg" to file macPath
end tell
Однако должна быть проблема с длиной имени файла, потому что при запуске его имя файла загруженного файла сокращается до 31 символа.
EDIT :
Вот скрипт для усечения, загрузки и переименования файла при необходимости.
set posixPath to "/Users/abc/Downloads/02331_veiledinclouds_2560x1600.jpg"
set baseName to do shell script "/usr/bin/basename " & quoted form of posixPath
set needsRenaming to false
if (count of baseName) is greater than 31 then
set downloadName to text -31 thru -1 of baseName
set basePath to do shell script "/usr/bin/dirname " & quoted form of posixPath
set posixPath to basePath & "/" & downloadName
set needsRenaming to true
end if
set macPath to (POSIX file posixPath) as text
tell application "URL Access Scripting"
download "http://interfacelift.com/wallpaper_beta/grab/02331_veiledinclouds_2560x1600.jpg" to file macPath
end tell
if needsRenaming then
tell application "Finder"
set name of file macPath to baseName
end tell
end if