每次我要运行applescript时,都会弹出编辑器。
有没有办法直接运行它?
每次我要运行applescript时,都会弹出编辑器。
有没有办法直接运行它?
Answers:
脚本的保存方式对其在Mac OS X中的运行方式有很大影响。听起来您的脚本只是保存为脚本,这就是每次打开脚本时打开脚本编辑器的原因。
要解决此问题,请在AppleScript编辑器中打开脚本并将其另存为应用程序。那应该是把戏。
步骤是(在编辑器中)
文件>另存为>,然后将文件格式设置为应用程序,然后保存。
您也可以将脚本放在〜/ Library / Scripts / Finder /文件夹中,然后直接从“脚本”菜单运行它。
另一种方法是在Automator中创建服务,该服务使用osascript
命令在Finder中运行.scpt。
(我未使用英语的Automator,因此措辞可能不准确)
在“运行AppleScript”框中,输入以下代码:
on run {input, parameters}
tell application "Finder"
--get the selected file
set selectedItem to (item 1 of (get selection))
--get location info (folder:file format)
set fileLocation to (selectedItem as alias) as string
--replace : with / with subroutine
set the semifinal to my replace_chars(fileLocation, ":", "/")
--remove Macintosh HD with subroutine
set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
end tell
do shell script "osascript " & "\"" & theFinal & "\""
return input
end run
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
“文件”>“保存”,并命名为“运行AppleScript”
现在,您可以在Finder中右键单击.scpt文件,然后选择“运行AppleScript”,然后查看脚本已执行。
参考:子例程的源-AppleScript:基本子例程
osascript
如果在Finder中选择了多个.scpt文件,则没有进行编码以进行处理。2.当下面的单行代码替换您添加到“运行AppleScript”操作中的所有内容时,绝对不需要进行这种编码。do shell script "osascript " & quoted form of POSIX path of item 1 of input
这是一个替换当前AppleScript代码中所有内容的最小示例:paste.ee/p/XngKA
if
可以使用else
显示显示所选文件不是.scpt文件的消息的子句扩展语句块。这样,用户就不会想知道为什么如果在运行服务时没有看到自己不小心选择了错误的文件类型,为什么什么也没发生。