关于AppleScript

说到AppleScript,可能涉及到三个含义:

1.AppleScript语言:就是苹果脚本的语言,用来编写运行于Mac系统的脚本。

2.AppleScript脚本:就是使用AppleScript语言编写的一系列指令。以后简称脚本。

3.AppleScript脚本解释程序:用于解释和执行AppleScript脚本中指令的程序。是Mac系统的原生程序和重要组成部分。下面简称AppleScript脚本程序。

say和beep

首先来玩两件很好玩的事:让Mac发音和说话。

在编辑区输入以下脚本:

say "How are you?" using "Zarvox"
say "Fine, thank you." using "Victoria"
say "Ha Ha"
beep

接着点击运行(Command + R运行,Command + .停止运行)

say "说话的内容" using "指定人的嗓音" 

这句脚本的意思就是让Mac系统按照指定人的嗓音说出我们指定的说话内容。当然using "..."是可以缺省的。

beep 发声次数  

这句脚本的意思是让Mac系统发出咚的声音,发声次数决定了咚出现的次数,例如beep 2那么Mac会咚两次。发声次数缺省为1。

在运行时回复输出的意思是:

tell表明将以上say和beep的任务交付给current application去完成,也就是AppleScript脚本程序。

tell模块

同样道理,我们可以用tell模块将特定的任务交付给Mac中特定的程序去执行。

tell模块的语法为:

tell application "Application Name"
<span style="white-space:pre"> </span>do your job here
end tell

例如我们想让Finder程序清空垃圾篓然后打开磁盘,可以这样写:

tell application "Finder"
empty the trash
beep
open the startup disk
end tell

注意"Finder"的双引号必不可少。

AppleScript脚本学习记录《二》的更多相关文章

  1. AppleScript脚本学习记录《一》

    tell命令块 tell application "Finder" display dialog "Hello World" end tell 声明变量 set ...

  2. Lua和C++交互 学习记录之一:C++嵌入脚本

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  3. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  4. Thrift学习记录

    Thrift学习记录 Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在C++,Java,Python,PHP,Ruby,Erlang, ...

  5. ElasticSearch 学习记录之ES短语匹配基本用法

    短语匹配 短语匹配故名思意就是对分词后的短语就是匹配,而不是仅仅对单独的单词进行匹配 下面就是根据下面的脚本例子来看整个短语匹配的有哪些作用和优点 GET /my_index/my_type/_sea ...

  6. ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询

    ES添加排序 在默认的情况下,ES 是根据文档的得分score来进行文档额排序的.但是自己可以根据自己的针对一些字段进行排序.就像下面的查询脚本一样.下面的这个查询是根据productid这个值进行排 ...

  7. Lua和C++交互 学习记录之九:在Lua中以面向对象的方式使用C++注册的类

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 在 ...

  8. Lua和C++交互 学习记录之八:C++类注册为Lua模块

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  9. Lua和C++交互 学习记录之七:C++全局函数注册为Lua模块

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

随机推荐

  1. SpringMVC中fastjson支持jsonp的实现

    前边一篇文章主要说了下前端处理jsonp的方式,这篇主要介绍了后台接收和响应jsonp的一种方式 继承fastjson消息转换器类:com.alibaba.fastjson.support.sprin ...

  2. centos环境自动化批量安装jdk软件脚本

    自动化安装jdk软件部署脚本 准备工作: 1.在执行脚本的服务器上生成免密码公钥: 安装expect命令 yum install -y expect ssh-keygen 三次回车 2.将jdk-7u ...

  3. CentOS 6.5 rsync+inotify实现数据实时同步备份

    CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync    remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...

  4. 将本地光盘做成yum源

    环境:vmware 1.将centos6.5光盘挂载在虚拟机上 2.将光盘挂载在/mnt/cdrom目录下 root#  mkdir /mnt/cdrom root # mount /mnt/cdro ...

  5. HTML标签播放MP4视频

    1.使用 <object> 标签播放视频 <object width="500" height="300" data="http:/ ...

  6. mysql8.0CTE实现递归查询

    +----+----------+--------------+| ID | ParentID | name         |+----+----------+--------------+|  1 ...

  7. 【ES】学习6-多字段搜索1

    本系列的笔记都来自:https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/multi-field-search.html 下 ...

  8. Laravel Cache 的缓存文件在到期后是否会自动删除

    验证缓存文件是否会自动删除的目的是,防止产生大量的缓存文件,占满磁盘.因为,我最近越来越多的使用 cache 来缓存各类 token. 使用的是 file 作为 CACHE_DRIVER CACHE_ ...

  9. 步步为营-11-List<T>泛型的简单练习

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. 2018-2019 2 20165203 《网络对抗技术》 Exp1 PC平台逆向破解

    2018-2019 2 20165203 <网络对抗技术> Exp1 PC平台逆向破解 实验要求 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 2.掌握反汇编与十六 ...