Le 12/04/2013 à 18:31, Simon Topliss < email@hidden> a écrit : (path to desktop as text) & "get archives AppleScript - stripped.scpt" set sourcePath to quoted form of POSIX path of result "Macintosh HD:" set targetPath to quoted form of POSIX path of result
Here's a tip for those playing along at home…
Never, ever write code like the above. Always be explicit in your variable declarations. The correct way to write this is:
set sourcePath to quoted form of POSIX path of ((path to desktop as text) & "get archives AppleScript - stripped.scpt") set targetPath to "/"
Yvan's code is a bug waiting to happen.
JUst for see, I added two log instructions in my original code :
(path to desktop as text) & "get archives AppleScript - stripped.scpt" set sourcePath to quoted form of POSIX path of result log sourcePath "Macintosh HD:" set targetPath to quoted form of POSIX path of result log targetPath do shell script "cp -np " & sourcePath & space & targetPath with administrator privileges
At execution, the events area displayed :
tell current application path to desktop as text --> "Macintosh HD:Users:yvankoenig:Desktop:" (*'/Users/yvankoenig/Desktop/get archives AppleScript - stripped.scpt'*) (*'/'*) do shell script "cp -np '/Users/yvankoenig/Desktop/get archives AppleScript - stripped.scpt' '/'" with administrator privileges --> "" end tell Résultat : ""
As far as I know, when AppleScript execute the instruction :
set sourcePath to quoted form of POSIX path of ((path to desktop as text) & "get archives AppleScript - stripped.scpt"), it compute the value (path to desktop as text) & "get archives AppleScript - stripped.scpt" and store it in the variable sourcePath which is exactly what my code is doing.
I'm just lazy and take care to keep instructions identical when it's possible.
Sometimes, I'm so lazy that I code :
(path to desktop as text) & "get archives AppleScript - stripped.scpt" set sourcePath to quoted form of POSIX path of result
"Macintosh HD:" quoted form of POSIX path of result do shell script "cp -np " & sourcePath & space & result with administrator privileges
And I'm interested to learn what would be dangerous with that.
Yvan KOENIG (VALLAURIS, France) vendredi 12 avril 2013 19:16:23
|