最大の問題は、macスタイルのパス(コロン付き)を使用する必要があるときに、posixスタイルのパス(スラッシュを使用)を使用していることです。Applescriptはコロンで区切られたパスを使用します。「posixpath」を使用してコロンからスラッシュに移動し、「posix file」を使用してスラッシュからコロンに移動することで、2つの間で変換できます。
また、パスを文字列として渡すことはできません。applescriptでは、ファイル指定子を使用します...そのため、文字列パスの前に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文字に短縮されるためです。
編集:必要に応じてファイルを切り捨て、ダウンロードし、名前を変更するスクリプトを次に示します。
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