1. 如何在mac程序代码中调用AppleScript脚本
关于AppleScript
说到AppleScript,可能涉及到三个含义:
1.AppleScript语言:就是苹果脚本的语言,用来编写运行于Mac系统的脚本。
2.AppleScript脚本:就是使用AppleScript语言编写的一系列指令。以后简称脚本。
3.AppleScript脚本解释程序:用于解释和执行AppleScript脚本中指令的程序。是Mac系统的原生程序和重要组成部分。下面简称AppleScript脚本程序。
AppleScript Editor
要编写AppleScript脚本,当然就需要编辑工具了,首先打开AppleScript编辑器:
貌似可以使用Xcode编写Cocoa - AppleScript Application,这个暂时还没尝试。我们先从AppleScript编辑器开始。
界面很简单,主要分为工具栏、编辑区和运行结果区。编辑区用来编写脚本,工具栏用来编译和运行脚本等,运行结果区呈现运行结果,这个不用多说了吧。
say和beep
首先来玩两件很好玩的事:让Mac发音和说话。
在编辑区输入以下脚本:
view sourceprint?
1.say "How are you?" using "Zarvox"
2.say "Fine, thank you." using "Victoria"
3.say "Ha Ha"
4.beep
点击工具栏的编译(或Command + K),可以看到脚本变了颜色,具体颜色的含义,可以在偏好设置中查看并设置:
接着点击运行(Command + R运行,Command + .停止运行)。可以看到运行结果区的回复栏中的显示如下:
更加好玩的是Mac系统在自然自语了,还有最后的一声咚。
下面来解释下脚本和运行结果的意思:
view sourceprint?
1.say "说话的内容" using "指定人的嗓音"
这句脚本的意思就是让Mac系统按照指定人的嗓音说出我们指定的说话内容。当然using "..."是可以缺省的。
view sourceprint?
1.beep 发声次数
这句脚本的意思是让Mac系统发出咚的声音,发声次数决定了咚出现的次数,例如beep 2那么Mac会咚两次。发声次数缺省为1。
在运行时回复输出的意思是:
tell表明将以上say和beep的任务交付给current application去完成,也就是AppleScript脚本程序。
tell模块
同样道理,我们可以用tell模块将特定的任务交付给Mac中特定的程序去执行。
tell模块的语法为:
view sourceprint?
1.tell application "Application Name"
2.do your job here
3.end tell
例如我们想让Finder程序清空垃圾篓然后打开磁盘,可以这样写:
view sourceprint?
1.tell application "Finder"
2.empty the trash
3.beep
4.open the startup disk
5.end tell
注意"Finder"的双引号必不可少。
回复输出为:
view sourceprint?
01.tell application "Finder"
02.empty trash
03.--> current application
04.--> error number 0
05.beep
06.--> error number -10004
07.end tell
08.tell current application
09.beep
10.end tell
11.tell application "Finder"
12.open startup disk
13.end tell
可以看到empty the trash任务是交给Finder程序去完成的,而beep任务是交给current application程序去完成,接下来的open the startup disk任务还是交回给Finder程序完成。
在tell模块中的任意位置可以插入beep,say等由current application程序解释执行的语句。
注意,交付给某个程序执行的语句必须在tell模块之内。
错误写法:
view sourceprint?
1.tell application "Finder"
2.empty the trash
3.beep
4.end tell
5.open the startup disk
编译时可以看到没有报错,运行起来看看:
运行结果区的回复输出如下:
view sourceprint?
01.tell application "Finder"
02.empty trash
03.--> current application
04.--> error number 0
05.beep
06.--> error number -10004
07.end tell
08.tell current application
09.beep
10.end tell
11.tell application "AppleScript Editor"
12.open startup disk
13.--> missing value
14.end tell
15.结果:
16.missing value
boot应该由Finder程序去打开,但是由于超出了tell applicaiton "Finder"模块,所以给语句将交由AppleScript Editor程序解释执行,很可惜,AppleScript编辑器无法打开boot,报错。
AppleScript Editor的小技巧
1.使用esc键呼出代码补全菜单
在写te时按下esc键,此时出现代码补全菜单:
2.在编辑区点击右键(或按住control键再点击左键)呼出上下文菜单
在上下文菜单中我们可以将AppleScript语句快速地插入到编辑区中,例如:
也可以将一段语句插入到Tell语句块中,方法是先选中这段语句,再插入到Tell Blocks中:
3.编辑程序的补全和修正功能
你可以输入:
view sourceprint?
1.tell app "Finder"
2.end
在编译后将被替换为:
view sourceprint?
1.tell application "Finder"
2.end tell
在编写AppleScript脚本时,是不区分大小写的,当然在编译过后也会被替换成正确的大小写形式。
这些小技巧都非常有利于快速编写脚本。
保存脚本
写好了程序,当然是保存了。可以在菜单中点击文件 —— 存储(或按快捷键Command + S)。
在保存时有多种文件格式:
保存为脚本格式
如果保存为脚本,那么下次打开文件时还是用AppleScript编辑程序来打开。桌面图标如下:
保存为应用程序格式
如果保存为应用程序,那么最好保留个脚本的,否则将不能用AppleScript Editor来打开编辑。
保存时的对话框如下:
如果选中“显示启动屏幕”,那么以后运行程序前会弹出一个对话框提示:
如果选中“运行处理程序后保持打开”选项,那么在程序运行完毕后会停留在Dock中。
保存的图标和脚本格式不同,如下(少了个纸张背景):
2. 苹果系统 MAC系统,怎么在桌面创建一个script脚本, cd ~/Desktop vim script 上面两句代码时什么意思
cd 表示改变工作路径。到 主目录下的Desktop目录
vim 是一个文本编辑器。那句命令表示编辑名为 scipt文件。
它的意思就是,你可以用文本编辑器在桌面上新建一个名为 script的脚本。
3. 请问怎么在OS X苹果操作系统写类似linux的脚本
#!/bin/bash
echo "eg: ./deletX username"
rm -rf /Users/$1/Library/Autosave\ lnformation/Unsaved\ Xcode*
echo "delete completed"
---------------
把以上代码保存为 deleteX 文件,在命令行加上可执行权限
chmod a+x deleteX
然后使用就输入
./delete 你的用户名
回车就ok
4. 高分悬赏!我想写一个在mac系统下双击可执行的一个复制文件的脚本,该怎么写呢下面有描述
用Automator吧,苹果自带的workflow管理器
首先在Launchpad里打开automator(找不到就输入这个单词)
然后就会出来一个这样的界面(我用的英文版,不懂英文看图标就好了)
在第一个“获取特定Finder项目”里,点里面的“Add(添加)”,然后选择你要复制的文件
在第二栏“复制Finder项目”里,选择你要的复制的文件的目的地(/user/apple/desktop/2)
这时候试着点击右上角的三角形(播放键)试试看这个流有没有成功,如果成果的话就点
File(文件)->Convert to...(转换成),在窗口里选择Application(应用)
转换之后保存你这个流,记得在保存类型里选择“应用”而不是“工作流”
以后你只要双击打开你保存的那个文件,就可以实现自动复制文件了
5. mac自带的脚本编辑器怎样编写perl语言程序。
编译器,严格来说是解释器,perl是脚本语言,不需要编译就可以运行
c语言需要编译成exe才能运行;
编辑器是txt,notepad,ultraedit; sublime;单纯的编辑文本的软件。
推荐新手使用activeperl解释器。
精通Perl
6. 苹果电脑怎么移除状态栏的脚本编辑器
按下 command+空格 输入脚本编辑器
7. mac如何编写数据库DDL脚本
OptionExplicit'===================以下定义用于获得本机IP==================PrivateConstWSADescription_Len=256PrivateConstWSASYS_Status_Len=128PrivateTypeWSA_(WSADescription_Len+1)AsBytestrSystemStatus(WSASYS_Status_Len+1)"ws2_32.dll"(ByVal_wVersionRequired&,lpWSADataAsWSA_DATA)"ws2_32.dll"(ByValhostname$)"kernel32"Alias"RtlMoveMemory"(DestinationAsAny,SourceAsAny,ByVallengthAsLong)"ws2_32.dll"()AsLong'===================以上定义用于获得本机IP=================='=====================以下定义用于获得MAC===================="iphlpapi"(ByValdestAsLong,ByValhostAsLong,ByRefMacAsAny,ByReflengthAsLong)_addrLib"ws2_32.dll"(ByValcpAsString)AsLong'=====================以上定义用于获得MAC===================='获得指定IP地址的MAC地址,用到全局变量hostIpStr为本机IP地址'输入:IP为本网内的IP地址字符串,函数返回MAC地址,若出错返回空字符串FunctionGetMac(IPAsString)AsStringDimldestAsLong,lhostAsLong,Mac(5)AsByte,lengthAsLongDimiAsLong,lRAsLong,hostIpStrAsStringhostIpStr=GetMyIpGetMac=""'若得不到MAC!IfhostIpStr""Thenldest=inet_addr(IP)'//目的地的IP转换为IP内码形式lhost=inet_addr(hostIpStr)'//将本机IP转换为IP内码形式length=6lR=SendARP(ldest,lhost,Mac(0),length)Iflength>0ThenFori=0Tolength-1GetMac=GetMac&Right("00"&Hex(Mac(i)),2)NextiEndIfEndIfEndFunction'获得本机IP地址,函数返回值=本机IP地址,若出错返回空字符串FunctionGetMyIp()AsStringDimWSADAsWSA_DATADimlRAsLong,MyIpAsStringDimhostent__addrAsLongDimtemp_ip_address()AsByteDimiAsIntegerDimip_addressAsStringlR=WSAStartup(&H202,WSAD)IflR0Then'WSANOERRORThenMsgBox"启动WSAStartup失败!"GetMyIp=""ExitFunctionEndIfhostent_addr=gethostbyname("")Ifhostent_addr=0ThenGetMyIp=""'注释:主机名不能被解释,ByValhostent_addr,LenB(host)CopyMemoryhostip_addr,ByValhost.hAddrList,4ReDimtemp_ip_address(1Tohost.hLength)CopyMemorytemp_ip_address(1),ByValhostip_addr,host.hLengthFori=1Tohost.hLengthip_address=ip_address&temp_ip_address(i)&"."Nextip_address=Mid$(ip_address,1,Len(ip_address)-1)GetMyIp=ip__Click()DimiAsInteger,IPStrAsString,MACStrAsStringIPStr="192.168.0."'假设本局域网的网段为192.168.0.1到192.168.0.254Fori=1To254MACStr=GetMac(IPStr&i)'如果计算机开机,则MACStr为网卡的MAC号IfMACStr""ThenText1.SelStart=Len(Text1.Text)Text1.SelText="IP地址:"&IPStr&i&"MAC号:"&MACStr&vbCrLfEndIfNextiEndSub
8. 苹果电脑浏览器脚本怎么开启
点击内容设置的运行脚本选项。
点击打开浏览器,点击右边的三横线。点击设置,点击高级设置。点击内容设置。选中允许运行脚本的选项。
9. 苹果mac系统下如何编写.sh脚本调用安装的某个程序打开指定文件
你先找到应用程序里的一个macos文件夹,把里面的可执行文件路径弄下来 后面加上jsf文件的路径
10. 请问在苹果系统上如何实现autorun,详细说脚本的编写
在WIN下插入光盘直接运行程序是因为光盘中写了一个自动运行的脚本或配置文件,一般为AUTORUN.INI。当你的系统设置为自动运行光盘时,系统才会自动播放配置文件中写入的内容。
同样的,如果你想让光盘或者镜像在MAC OS下自动播放,也要在光盘/镜像中加入一个脚本才可以实现。自动播放功能是写入在脚本文件中的,系统设置只是负责开启/屏蔽这个功能而已。