Questions tagged «applescript»

AppleScript是macOS中的专有编程语言,用于控制和与应用程序交换数据。


3
如何从iBooks收集所有笔记和精彩集锦?
我已经阅读了iBooks中的很多重点和注释,并且希望能够以一种易于使用和操作的格式收集它们(例如,用于撰写论文和引用引号)。 例如,我想要像这样的亮点 生成一些东西(例如,用CSV) Quod me nutrit me destruit - 维持我的东西也摧毁了我,14,Tamburlane Part One和Two,Christopher Marlowe,Anthony B. Dawson编辑,Bloomsbury,https://itun.es/us/qSrZ0.l 我可以看到如何使用iBook的“共享”功能(当然还有复制和粘贴),费力地,一次一个注意事项,但是我看不到任何方法可以批量执行,对于所有人我的笔记来自一本书,甚至我的所有书籍。 有没有办法实现这一点,例如使用Apple脚本或使用Automator?或者也许有一个包含我的笔记的文本或XML文件,并突出显示我可以编写一个脚本(最好是Python)来解析。

4
AppleScript与Bash脚本?
我是Windows的资深用户,也是开发人员,最近决定迁移到Mac OSX。 在OS X Lion和以前的版本上,似乎在OS X中有两个主要的脚本编写和自动化选项:AppleScript和Bash脚本。后者当然是OS X使用Unix“ bash” shell的直接结果,而前者是Apple自己的创新。语法明显不同,AppleScript具有伪自然语言样式。 我的问题是,AppleScript和Bash脚本是否通常用于OS X上的不同任务和目的(实际上,应该使用它们)。我模糊地认识到我可以用Bash脚本完成的大量任务,尽管当然是代码对于一些更高级的产品,很快就会变得令人费解。尽管Apple后来发明了AppleScript,但是这两种语言的使用情况是否重叠或几乎完全相同?或者是否打算在不同情况下使用它们?一个高级概述以及一些特定示例将不胜感激。
13 lion  macos  applescript  bash 


1
如何使用AppleScript单击按钮?
我试图使用applescript在TeamSpeak中按下按钮,这是我的代码: tell application "TeamSpeak 3 Client" to activate tell application "System Events" tell process "TeamSpeak 3" click menu item "Connect" of menu "Connections" of menu bar 1 delay 2 click button "Connect" end tell end tell 这是我将鼠标悬停在辅助功能检查器中的按钮上的图像 我要做的就是利用Accessibility Inspector中提供给我的信息找出如何按下按钮,但是在我的代码中,出现错误“系统事件出现错误:无法获得按钮的“连接”流程“ TeamSpeak 3”。” 这是按钮直接位于其中的窗口的屏幕截图:

3
iCal不再运行脚本?
我有一些AppleScripts形式的自动化任务,我计划通过iCal事件将其整夜运行。仅在“事件发生前0分钟”将事件设置为“运行脚本”,然后选择要运行的各种脚本。 但是,自从升级到Mountain Lion以来,“运行脚本”现在只是“打开文件”,并且脚本没有运行,它们只是在AppleScript编辑器中打开。 我尝试将脚本编译到应用程序中,以查看是否可以选择要打开的脚本,但是无法从事件中选择它们(它们显示为灰色)。 如何获取日历来运行脚本? 相反,是否有更好的方法来安排脚本运行?

3
在AppleScript中执行Shell命令时出现空格问题
以下代码以递归方式清除目录不起作用,因为我无法通过“ 应用程序支持”文件夹。 try do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash" end try 如果我~/Library/Application Support/Google...什么也没做。这是预期的。 如果使用~/Library/Application\ Support/Google...错误消息,我将无法保存脚本:Syntax Error Expected “"” but found unknown token. 如何解决此错误?

2
macOS Sierra:AppleScript装载量不断询问登录
我使用了多个OS X版本: /usr/bin/osascript -e mount volume "smb://yourserver" as user name "yourusername" with password “yourpassword” 如果可以的话,这非常有效,可以很好地和安静地安装网络共享。 现在,我最近安装了macOS Sierra(10.12公共测试版,内部版本16A238m),该脚本仍然有效,但是现在突然会始终显示一个登录对话框,并预先填充了“ yourusername”和“ yourpassword”值。用户仍然必须单击“连接”以安装共享。 有谁知道这是否是Beta版中的“错误”(我曾通过Apple的“反馈”应用程序报告过此错误),或者这是预期的和/或该问题的“修复”是什么? 另请参阅:AppleScript文档“装载量”


2
如何将AppleScript路径更改为终端样式的路径?
我有一个在Automater中创建的自定义服务(我在OS X 10.6.5上)。该服务执行一个AppleScript,后者又执行一个外壳脚本。这是AppleScript: on run {input, parameters} -- do shell script "/usr/bin/find " & input & " -type f -name .DS_Store -delete -print" display alert "Path: " & input end run 问题是,服务传递的路径(在变量中input)如下所示: Macintosh HD:Users:Matthew:Documents:Programming:Apple Scripts: 为了使命令正确执行,路径需要如下所示: Macintosh\ HD/Users/Matthew/Documents/Programming/Apple\ Scripts/ 那么,是否有办法将第一条路径转换为第二条路径?我希望有一个能够处理此问题的核心功能。但是我想某种正则表达式/查找/替换/等会工作吗?我熟悉HTML / CSS / Javascript / PHP,但不熟悉Cocoa / AppleScript / C。任何方向或建议将是巨大的!

3
使用applescript将文件复制到剪贴板
我经常在命令行中发现自己想要将文件复制到剪贴板,以便可以将它们作为附件粘贴到Mail中。如果我有一个图像文件,image1.png可以通过以下方式完成此操作 osascript -e 'tell app "Finder" to set the clipboard to ( POSIX file "image1.png" )' 如果我执行上述命令,然后在Mail中打开新消息并按命令V,则图像文件将作为附件粘贴。请注意,pbcopy这里显然不是解决方案,因为这会复制文件的内容并在粘贴命令V时导致垃圾邮件。 我的问题是如何对多个文件执行相同的操作?假设我要同时粘贴image1.png和image2.png。从Finder来看这很简单(在命令C中将它们都选中,然后切换到“邮件”和命令V;瞧,两个文件都显示为附件)…但是如何从命令行执行此操作?


6
如何在磁盘挂载上运行Applescript
挂载特定磁盘时,我想运行Applescript。并不是脚本是否位于磁盘上,而是应该在OS X挂载磁盘时运行。 我试图通过文件夹操作来完成此操作,但似乎无法以这种方式进行。 澄清: 我拿着Macbook回家 我将USB集线器插入设备 外部磁盘已安装在OS X中 我的Applescript运行,在这些磁盘上做一些事情 我想自动化第4步。

6
使用AppleScript锁定屏幕
我需要一个applescript,以按shift+ ctrl+ 的相同方式锁定我的Mac eject。我尝试了两种不同的方法,但是都失败了。第一个是在互联网上搜索脚本,但失败了。只有屏幕保护程序或其他应用程序的解决方案是我不想要的。我只想使用我描述的内容。第二个是告诉applescript按下三个无效的键。如果有人可以告诉我如何锁定Mac或如何告诉applescript按下三个键,我会很高兴,因为我有点沮丧。

1
Applescript:将变量与字符串进行比较失败
我有一个applescript,可获取项目列表,然后遍历它们: tell application "GeekTool Helper" set names to name of geeklets repeat with currentName in names if (currentName is equal to "Top_CPU_Processes") then display dialog "found it" end if return currentName end repeat end tell 该names变量被正确地设置为一个字符串数组。当我在列表上重复时,我可以将每个currentName变量分别返回而不会出现问题。 我遇到的问题是if语句。我从来没有得到显示“找到它”的对话框。 我也尝试过比较if (currentName = "Top_CPU_Processes") then,但它仍然永远不会评估为真实。 我需要做些什么来使变量的内容针对字符串进行评估吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.