Questions tagged «applescript»

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


4
以编程方式/以脚本方式更改默认的“打开方式”设置
是否可以通过编程/使用脚本来更改哪个应用程序打开文件类型? 基本上,有时候我在一个网站上工作,我想设置所有的网络文件以使用文本编辑器(* .php,*。html,*。htm等)打开。 但是,其他时候,我只想查看文件,所以我想用浏览器打开它们。 现在,我将项目拖到停靠图标上,虽然可以,但是速度很慢,尤其是当我仅使用键盘浏览大量文件时。 基本上,我想要的是一个小的applescript /随便更改所有打开方式设置的内容。 这样,我可以为每个打开程序使用一个脚本,然后来回更改。 谢谢。


4
AppleScript按键忽略数字
一个非常简单的AppleScript,如下所示: tell application "System Events" keystroke "abc 123" end tell 导致只输入“abc”。在线资源表明情况并非如此。在按键之间添加延迟没有帮助。 可能导致此问题的原因或如何确定可能导致此问题的原因? 小问题:在AppleScript术语中,什么是击键?一个函数,命令,别的什么?

2
如何使用AppleScript从其POSIX路径中显示Finder中的文件?
我正在尝试创建一个AppleScript代码段,用于查找当前的随机壁纸并在Finder中显示它。我有以下代码片段,它将当前壁纸的POSIX路径作为字符串找到: set plistFolderPath to path to preferences folder from user domain as string set plistPath to plistFolderPath & "com.apple.desktop.plist" tell application "System Events" tell property list file plistPath tell contents set thePath to value of property list item "NewChangePath" of property list item "default" of property list item "Background" & …

1
AppleScript:关闭所有打开的Windows
我正在尝试编写一个苹果脚本来关闭所有打开的Windows。以下是我尝试的内容: tell application "System Events" repeat with theProcess in (application processes where visible is true) tell application theProcess close end tell end repeat end tell 这似乎不起作用。我明白了: 脚本错误:系统事件出错:无法获取应用程序(每个应用程序进程的第1项,其visible = true)。号码-1728 如果应用程序退出或者窗口关闭,我不在乎。 我试着调试这个,但我无法在Xcode中打开这个脚本。 编辑:感谢user3439894我已经确定了以下脚本,它只是发送Command + Q到每个可见的应用程序: tell application "System Events" set theVisibleApps to (name of application processes where visible is true) end …


1
使用`osascript`时如何避免GUI密码提示?
我想用 osascript shell命令运行一些AppleScript,但我宁愿避免GUI密码提示。相反,我更喜欢将脚本作为 sudo 从命令行,所以不需要GUI弹出/提示。 该命令如下: osascript -e 'tell application "System Events" to set UI elements enabled to true' 运行此命令与执行此操作具有相同的效果 系统偏好 → 无障碍 并检查 启用辅助设备的访问权限 。 如果它没有提示您输入密码,请尝试相反的方法: osascript -e 'tell application "System Events" to set UI elements enabled to false' 对于这些命令中的任何一个,您将在OS X GUI中获得密码提示: 我的问题是: 有没有办法避免这个密码提示? 我假设在调用 osascript 同 sudo 特权可以解决问题,但唉 …

3
为什么这个Applecript实际上没有将输入量设置为零?
我有这个命令,它构建一个脚本来静音输入音量。但是,输入音量并未完全静音。它似乎接近10%而不是0%。 osacompile -x -e 'tell application "System Events" to set volume input volume 0' -o ~/bin/mute_mic.scpt 这很奇怪,因为滑块尽可能地向左移动,但是从附图中可以看出,声音仍在注册。但是,如果我使用鼠标在零点上滑动滑块,那么它确实会使输入静音。 为什么会这样?我在这里使用Applecript不正确吗? 我甚至可以用基本的AppleScript编辑器复制它,所以我知道它不是编译的问题。 (注意:我最初从这个问题的答案中得到了解决这个问题的解决方案。)

2
AppleScript应用程序开始提示运行或退出。我怎么能禁用它?
我不完全确定为什么这已经开始发生,因为这是完全新的行为,我没有做任何系统更新,但我有一个很好的小工具栏应用程序为我的Snow Leopard Finder.app打开现有的文件夹/或文件TextMate的。 它过去只是简单地使用所选内容调出TextMate,但从今天开始它会提示我运行或退出脚本。 这是弹出窗口的样子: 现在......这个应用程序/脚本不是新的,我相信脚本,我不希望每次使用它时弹出这个。 那2个问题: 如何禁用这个烦人的提示? 为什么我昨天一切都工作正常时突然得到它? 任何见解都会非常感激。 作为参考,有问题的脚本是这样的:OpenInTextMate 但是我使用的MateDot.app脚本也在做同样的事情。 谢谢阅读。 Jannis

3
AppleScript显示别名的隐藏原件的包装内容
我正在尝试构建一个Automator工作流程(将其保存为服务,以便我既可以从上下文菜单访问它,又可以使用键盘快捷键调用它),其功能类似于Finder的内置“显示包”目录”命令,但该命令还将接受包的别名作为输入。该服务将满足以下条件: 仅当Finder的选择包含程序包或程序包别名时,此选项才可用。 服务不会像内置命令那样显示软件包目录本身的内容,而是显示位于软件包目录内的“目录”目录(如果存在)的内容。 如果Finder的选择是桌面上的软件包或别名,则应在新的Finder窗口中打开Contents目录。否则,应在包含所选内容的Finder窗口中打开Contents目录。 我的方法是让脚本首先确定文件是否为Alias,如果是,则告诉脚本显示原始内容。如果该文件不是别名,我想告诉脚本仅显示输入内容。 排除别名作为输入的可能性,并假设在Finder窗口中选择了输入包,我可以在同一窗口中成功编写一个脚本,以显示包内容文件夹的内容: on run {input, parameters} set my_output to {} repeat with oneItem in input tell application "Finder" to set target of window 1 to ((oneItem as text) & "Contents") end repeat return input end run 当我尝试设置“ if ... then ... else”方案时,我失败了。 我正在使用所有相关软件的最新版本。

2
如何排除锁定的文件或文件夹在AppleScript中选择特定文件夹中的所有文件
这是我的情况。我创建了一个用于清理桌面的AppleScript。它实际上选择了我桌面上的所有文件和文件夹,创建了一个具有特定名称和日期格式的新文件夹,并将所有文件从我的桌面移动到新文件夹。这个脚本运行得很漂亮,直到我意识到偶尔会有我希望保留在桌面上的文件或文件夹。我的解决方案是打开我希望保留在桌面上的每个文件或文件夹的获取信息窗口,并在获取信息窗口中选择“锁定”选项。 我的问题现在是因为锁定的文件,脚本无法完全执行而不显示错误消息。如果我在错误消息上单击“确定”,脚本将完成并移动每个文件,但锁定的文件除外。 我宁愿不必通过单击“okay”按钮来完成这一额外步骤。我尝试将一些系统事件操作添加到脚本中以自动单击“确定”按钮,但这不起作用。 我开始认为唯一真正的解决方案是首先不选择那些锁定的文件或文件夹。这是我迷失的地方。任何人都可以帮我指导如何避免首先选择锁定的文件? 这是完整的脚本。 set scriptPath to (load script file "Macintosh HD:Users:Smokestack:Library:Mobile Documents:com~apple~ScriptEditor2:Documents:Cleanup Desktop.scptd:Contents:Resources:Scripts:Current Time A.M. P.M. And Short Date.scpt") tell scriptPath timeandDate() -- This will get the time and date in this format "05/31/2017 @ 9:10:48 PM" called from the loaded script file above end tell set timeandDate …

2
AppleScript和Finder - 如何在将路径复制到剪贴板时检测“空”选择(扩展问题)
我正在尝试构建一个执行以下操作的服务: 如果在Finder中选择了某些文件夹/文件,请复制(全部)到剪贴板的路径 如果未选择任何内容,请复制窗口的“路径”。 从诸如此类的帖子中挖掘并获取灵感 将当前目录的路径复制到剪贴板 和MacYourself的 将文件或文件夹路径复制到Mac OS X Lion中的剪贴板 我已经达到了我可以获得选择路径的程度,但是如果选择为空,我在尝试获取当前窗口的路径时似乎陷入困境。 更新2013年12月13日。我得到了一些有用的反馈(见 https://apple.stackexchange.com/a/113612/7488 ;谢谢@Flavin)所以我已将代码更新为以下代码: on run {input, parameters} set l to {} tell application "Finder" set sel to (get selection) if not sel = {} then -- there are some file/folders selected repeat with f in (get selection) set end …

5
小牛 - 告诉应用程序“预览”打开PDF - 奇怪的权限问题
我最近将一个大型的PDF文件集合从Snow Leopard 10.6.8 TimeMachine磁盘移动到我的新rMBP(到内部闪存存储器)。我手动完成此操作,而不是通过TimeMachine界面。rMBP运行小牛10.9.3。 当我双击PDF时,它们在预览中打开没有问题。 但是,当我写一个小AppleScript来打开一个,例如: tell application "Preview" activate open "/Users/me/Desktop/test.pdf" end tell 我在执行AppleScript时遇到以下错误: 无法打开文件“test.pdf”,因为您无权查看它。要查看或更改权限,请在Finder中选择项目,然后选择“文件”>“获取信息”。 我查看Get Info for test.pdf。在“共享和权限”选项卡中,无论我设置权限是什么,即使所有用户都可以读取和写入文件,我仍然会收到错误。 相反,如果我从互联网上下载PDF,直接到桌面,并执行AppleScript打开它,它会在预览中打开而不会出现问题。 (ps我需要通过AppleScript打开PDF,作为我拥有的更大系统的一部分,我不仅仅是为了好玩!)

1
在AppleScript中按键查找记录
有没有办法通过其中一个键的值获得记录而不循环? 我一直这样做: set theKey to 22 set theRecords to {{key:11, value:"foo"}, {key:22, value:"bar"}} repeat with theRecord in theRecords if key of theRecord = theKey then display dialog (key of theRecord as text) & ":" & value of theRecord end if end repeat

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.