问题标签 [applescript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
759 浏览

scripting - Finder中的Applescript:前进到下一个文件

我想做的是:

将 x 设置为当前选择,然后将选择前进到下一个文件,然后删除 x。

我这样做是因为 CMD-backspace 每次都会清除选择,这很烦人!

0 投票
3 回答
5264 浏览

xcode - 如何使用 Applescript 构建和运行 Xcode?

我正在尝试在另一个编辑器(即 Vim)中模拟 Xcode 的 ⌘-R 击键;我以为我可以使用一些 shell 脚本和 applescript 来做到这一点,但它似乎无法正常工作:

这样做的问题是,无论 Xcode 是否报告错误,它都会启动应用程序。有没有什么办法解决这一问题?

0 投票
3 回答
10935 浏览

applescript - AppleScript:如果文件不存在

我需要一些方法来确定特定文件是否存在。如果存在则执行一个脚本,如果不存在则执行另一个脚本。这是我在applescript中的逻辑:

唯一的问题是,有时当我使用上述逻辑时,脚本会失败,说找不到文件。我需要一个完整的证明,永远不会失败的方式来查看文件是否存在。我愿意使用终端或applescript。我敢肯定有人以前遇到过这个问题,但我在网上到处寻找答案,但找不到答案。

0 投票
2 回答
3503 浏览

applescript - 有没有办法用applescript读取Quicktime电影的时间码轨道

我想从 Applescript 中的快速电影中提取时间码。

通过使用此脚本

我可以得到时间码轨道,轨道的属性是:

{is audio variable rate:true, is video gray scale:false, audio sample size:0, class:track, audio sample rate:0.0, sound balance:0, preload:false, streaming bit rate:-1.0, duration:960300 , 语言:"English", 声道数:0, 层数:0, 内容:缺失值, 低音增益:0, 开始时间:0, 数据格式:"时间码", 高音增益:0, 音频特性:false, sound音量:0,掩码:缺失值,视频深度:0,位置:{0, 0},id:4,高质量:false,去隔行字段:false,href:“”,自然尺寸:{0, 0},单字段:假,种类:“时间码”,索引:4,数据大小:38412,视觉特征:假,数据速率:100,从不清除:假,透明度:49,章节列表:{},名称:“时间码轨道” ,备用:{},操作颜色:{32768, 32768, 32768},启用:true,类型:“tmcd”,流质量:-1.0,传输模式:传输模式未知,维度:{0, 0},当前矩阵:{{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}}}

这些似乎都与时间码无关。请注意,内容属性是“缺失值”

如果我尝试获取电影的当前时间,它会返回 0,即使时间码不是从 0 开始。

到目前为止,我正在考虑我在网上发现的内容,这是不可能的。请证明我错了

TIA-stib

0 投票
3 回答
22143 浏览

string - AppleScript 中的字符串操作

我在 AppleScript 中遇到了如下操作字符串的挑战:

  • 基本字符串是电子邮件收件人显示名称,例如:First Last (first.last@hotmail.com)
  • 我想“修剪”显示名称以删除括号中的实际电子邮件地址
  • 期望的结果应该是First Last- 所以需要删除第一个括号前面的空间。

在 AppleScript 中执行此操作的最佳和最有效的方法是什么?

0 投票
1 回答
7044 浏览

macos - AppleScript 以最前面的应用程序为目标

我想对鼠标按钮进行编程以显示/隐藏 Finder。我编写了以下 AppleScript 并将其绑定到我的鼠标按钮:

这有效,但速度相当慢。运行大约需要 2 秒。
我希望它更快。第一个 tell 块使用系统事件来获取脚本的名称并将其隐藏。在脚本启动之前,是否有更简单/更快的方法来获取最前面的应用程序的名称?(即激活脚本时处于活动状态的应用程序)

0 投票
5 回答
6489 浏览

windows - 在 Windows 中自动执行任务的最佳方法

Mac 有“内置”applescript,我发现它非常适合用于自动化工作。

什么是最好的 Windows 等价物?

0 投票
1 回答
273 浏览

macos - Applescript 检测新驱动器

我有一个用于成像硬盘驱动器的 applescript studio 应用程序。现在它运行一个 shell 脚本 (diskutil list -plist) 来获取有关连接到计算机的驱动器的信息,然后将这些信息呈现给用户,并选择正确的驱动器来映像。

理想情况下,我希望我的应用程序能够检测何时插入新设备,并提示用户对该驱动器进行映像。

我正在考虑循环运行 shell 脚本并比较结果以检测是否有新设备可用,但这似乎会浪费大量 CPU。applescript 有没有办法监听某种事件并检测到有新设备可用?

0 投票
3 回答
1490 浏览

macos - 用于解锁屏幕对话框的 AppleScript

我编写了一个 Applescript,将各种 IM 客户端设置为关闭,关闭 iTunes,然后启动我的屏幕保护程序。

这是一个受密码保护的屏幕保护程序,我正在尝试(一旦屏幕保护程序消失)做相反的事情。显然,每个应用程序的“告诉”操作都不是问题,但是一旦屏幕被解锁,我似乎无法找到如何执行这些操作。我确实认为这与 LoginItem 相同,但事实并非如此。

任何帮助表示赞赏!

0 投票
3 回答
2103 浏览

objective-c - 在 Cocoa 应用程序中定义和执行简单的 AppleScript 命令

我正在尝试向我编写的 Cocoa 应用程序添加一些脚本功能。我为我的项目创建了一个sdef(脚本定义文件)。到目前为止,我已经成功地使用 AppleScript 访问对象子项(元素),但我一生都无法弄清楚如何调用方法(命令)。

这是我的 sdef 文件。

这是我的控制器类实现(这是我的应用程序的委托)

我的控制器.h

MyController+Scripting.m

最后,我正在尝试的 AppleScript 是:

回应"AppleScript Error - The variable testmethod is not defined."

有什么想法我在这里做错了吗?我觉得我错过了一些简单的东西,但我的谷歌搜索似乎没有找到任何有用的东西。