这是我的代码:
set scriptpath to (path to current application as text)
set scripty to do shell script scriptpath & "Contents:Resources:moveskript " & variable1 & variable2 with administrator privileges
它说:
2015-12-08 16:40:33.565 Move[9093:63037] *** -[AppDelegate mybuttonhandler:]: /bin/sh: HD2:Users:gff:Library:Developer:Xcode:DerivedData:Move-fxtmdhtebdbqpbemfeknbexosigm:Build:Products:Debug:Move.app:Contents:Resources:moveskript: command not found (error 127)
即使命令在那里,当我通过终端运行时它也能正常工作。
答案 0 :(得分:0)
"内容:资源:moveskript" 语法适用于Finder路径对象,而不是POSIX路径。
<强>错误:强>
set moveScriptPath to (path to me as string) & "Contents:Resources:moveskript"
set posixPath to POSIX path of moveScriptPath
目前该路径导致错误127.修复后,如果你&#34; moveskript&#34; 没有任何错误,那应该没问题。注意带有空格,特殊字符等的路径,在苹果脚本中使用quoted form of somePathWithWhitespace
。 More info
这个&#39; moveskript&#39; ,从名称猜测,它将两个移动到用户可能没有读/写权限的位置,FYI有一个shell命令{{1}只是为了那个。打开终端并输入mv
以阅读更多相关信息。它也是一个苹果脚本吗?为什么不在同一个脚本中使用处理程序?如果是这样,你必须这样做:
man mv
我猜你是从应用程序而不是applet调用它,因此不需要使用applescript来移动内容,再次查看do shell script ("/usr/bin/osascript " & quoted form of posixPath & " " & quoted form of file1 & " " & quoted form of file 2) with administrator privileges
。更好地使用Cocoa框架,因为它可以完成所有工作more info。