首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设置 AppleScript 在给定文件被修改时运行?

AppleScript 是一种脚本语言,用于自动化 macOS 系统上的各种任务。要在给定文件被修改时运行 AppleScript,可以使用 macOS 的文件监视功能和 AppleScript 的事件处理。

以下是设置 AppleScript 在给定文件被修改时运行的步骤:

  1. 创建一个 AppleScript 脚本文件:打开 AppleScript 编辑器(在“应用程序/实用工具”文件夹中),然后创建一个新的脚本文件。
  2. 编写 AppleScript 代码:在脚本编辑器中,编写你想要执行的 AppleScript 代码。例如,以下是一个简单的示例,当指定的文件被修改时,弹出一个对话框通知:
代码语言:applescript
复制
on idle
    set filePath to "路径/到/你的/文件.txt"
    set modificationDate to (do shell script "stat -f %m " & quoted form of POSIX path of filePath)
    if modificationDate is not equal to my lastModificationDate then
        display dialog "文件已被修改!"
        set my lastModificationDate to modificationDate
    end if
    return 1 -- 每秒钟检查一次文件是否被修改
end idle
  1. 保存脚本文件:将脚本文件保存到你喜欢的位置,并为其指定一个有意义的名称,以便稍后使用。
  2. 设置文件监视:使用 macOS 的文件监视功能来监视指定的文件是否被修改。可以使用 launchd 守护进程来实现文件监视。以下是设置文件监视的步骤:
  • 创建一个 .plist 文件:使用文本编辑器创建一个新的 .plist 文件,例如 com.example.filewatcher.plist
  • 编辑 .plist 文件:将以下内容粘贴到 .plist 文件中,并根据你的需求进行修改:
代码语言:txt
复制
 ```xml
代码语言:txt
复制
 <?xml version="1.0" encoding="UTF-8"?>
代码语言:txt
复制
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
代码语言:txt
复制
 <plist version="1.0">
代码语言:txt
复制
 <dict>
代码语言:txt
复制
     <key>Label</key>
代码语言:txt
复制
     <string>com.example.filewatcher</string>
代码语言:txt
复制
     <key>ProgramArguments</key>
代码语言:txt
复制
     <array>
代码语言:txt
复制
         <string>osascript</string>
代码语言:txt
复制
         <string>/路径/到/你的/脚本文件.scpt</string>
代码语言:txt
复制
     </array>
代码语言:txt
复制
     <key>WatchPaths</key>
代码语言:txt
复制
     <array>
代码语言:txt
复制
         <string>/路径/到/你的/文件.txt</string>
代码语言:txt
复制
     </array>
代码语言:txt
复制
 </dict>
代码语言:txt
复制
 </plist>
代码语言:txt
复制
 ```
代码语言:txt
复制
 将 `<string>/路径/到/你的/脚本文件.scpt</string>` 替换为你保存的 AppleScript 脚本文件的路径,将 `<string>/路径/到/你的/文件.txt</string>` 替换为你要监视的文件的路径。
  • .plist 文件移动到适当的位置:将 .plist 文件移动到 ~/Library/LaunchAgents/ 目录中。
  • 加载 .plist 文件:打开终端,并执行以下命令以加载 .plist 文件:
代码语言:txt
复制
 ```bash
代码语言:txt
复制
 launchctl load ~/Library/LaunchAgents/com.example.filewatcher.plist
代码语言:txt
复制
 ```
代码语言:txt
复制
 这将启动文件监视。

现在,当你监视的文件被修改时,AppleScript 将自动运行,并执行你在脚本中定义的任务。

请注意,以上步骤仅适用于 macOS 系统。对于其他操作系统,可能需要使用不同的方法来实现类似的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Mac教程|Mac电脑怎么创建txt文件

之前使用Windows电脑,只要右键就能新建txt文档文件,刚换Mac,还真找不到新建txt文档文件的入口,本篇文章就为大家介绍如何设置新建txt文档文件的快捷键。...第一种方法:通常可以直接用Mac的搜索工具Spotlight或Alfred搜索TextEdit,打开文本编辑应用程序即可创建txt文档,若打开文本编辑出现下方界面,可以通过修改格式来转为txt文件。...然后左侧列表中选择 “实用工具” > “运行AppleScript”,将其拖到右侧空白处。...将里面的代码全部删掉,粘贴下方的代码后,点击黑色三角形运行,然后关闭“自动操作”应用程序,按指示保存文件即可。...最后打开系统偏好设置键盘设置设置好新建txt的快捷键,就完成所有的操作了。

6.8K20

Flume+Kafka收集Docker容器内分布式日志应用实践

问题导读: 1、如何设计Flume+Kafka收集架构? 2、如何修改Docker内配置文件? 3、如何进行Flume配置?...本文就给出了分布式环境下,容器化的服务中的分散日志,如何集中收集的一种方法。 2 设计约束和需求描述 做任何设计之前,都需要明确应用场景、功能需求和非功能需求。...这里加入了flume的运行命令,–conf后面的参数标示会去这个文件夹下面寻找flume-env.sh,里面可以定义JAVA_HOME和JAVA_OPTS。...输出到本地文件,首先要设置一个跟目录,通过sink.directory设置。...规整完的一个文件目录形式如下,可以看出汇集了众多服务的日志,并且按照服务名称、时间进行了区分: [AppleScript] 纯文本查看 复制代码 ?

2K120

TextMate:轻量级代码编辑器

,不过我一般也不用它写复杂的程序,这里就简单编辑一下头的模板 输入py3摁tab即可自动填充代码模板: 运行脚本▸ 之前用sublime直接打开一个脚本然后cmd+B就直接运行了,TextMate...也可以一个快捷键直接运行 首先是Run Script,是TextMate中运行脚本输出结果,但是我不能直接使用,提示python command not found 于是我手工修改了python的路径为我的...python3的绝对路径: cmd + R 即可运行 不过我不喜欢这个内置的输出,因为如果是长时间跑脚本的话,他的输出会有延迟,还是iTerm中直接运行该py文件比较方便,这时候就要用Run...但是由于它是用AppleScript调用iTerm,而AppleScript使用了一种过时的表达tell the current terminal导致无法使用,需要修改,这是我修改后的版本: # 然后删除临时文件由rm -rf改成了移至垃圾桶,避免误删文件导致文件丢失(一般不会生成临时文件所以用了个if做判断)</span

2.2K30

如何使用 Raycast 一键打开预设工作环境

这些网页、文件、软件,很可能每次遇到 报警都要打开。这种重复的工作有没有可能一键自动完成呢? 可以。借助 Raycast 可以非常方便地做到(本文介绍的方法 mac 系统下生效)。...通过设置快捷键,用户可以无缝地不同应用之间切换,大大提高工作效率。 需要说明的是,一键打开预设工作环境的实现方法可能有很多。本文采用的方法,是 chatGPT 的帮助下“独立”完成的。...这意味着用户可以通过 AppleScript 自动执行繁琐的任务,比如批量修改文件,整理电子邮件,甚至创建复杂的文档。...总的来说,AppleScript 是一个强大且用户友好的工具,用于增强 Mac 用户的生产力和工作效率。 完成之后,第一步设置的路径下,就会出现一个 daily.applescript 文件。...第三步,就是修改 AppleScript 脚本,让它来完成打开指定网页、启动指定软件的功能。 虽然 AppleScript 写起来很直观,但是对没写过的人来说,还是有一定的学习成本。

42730

Xcode断点的小知识

Xcode中之际代码处行号点击左键即可添加成功。 对于自定义的断点我们可以添加一些判断条件,比如一个for循环,我们可以添加一些设置条件从而进入指定情况下的断点。...Debugger Command 可以设置调试命令,当断点触发,执行调试命令并输出结果到控制台。...2.4 AppleScript AppleScript 行为可以设置当断点触发执行 AppleScript 脚本, AppleScript 是Apple提供的一套应用MacOS系统的脚本语言。...运行结果 设置的时候,可以使用Compile来编译脚本,也可以使用test测试是否正常,正常的话会触发Xcode弹出警告框。...当断点触发可以捕获GPU当前所绘制的帧 添加全局断点 Xcode 还提供了一些全局断点,全局断点主要有7种。

1.6K10

Mac技巧|如何用键盘快捷键打开 macOS 控制中心

今天macw和大家分享如何设置键盘快捷键打开 macOS 控制中心。 来给控制中心加个键盘快捷键 控制中心作为 macOS Big Sur 新加入的功能,将多个系统设置集合成一个面板。...快速调节多项设置的同时给你一个清新简洁的菜单栏右上角。...第二步:左侧搜索 AppleScript 并将「运行 AppleScript」拖动到右侧,在窗体中键入: tell application "System Events" tell process "...第三步:打开系统偏好设置-键盘,选择「快捷键」标签,点击左侧的「服务」。「通用」中找到你刚刚命名的快速操作,并点击右侧「无」来录制键盘快捷键。...当然,既然是基于 AppleScript 你完全可以通过其它自动化应用来激活,这样就不会有这种问题了,比如 BetterTouchTool、Alfred 等一切可以运行 AppleScript 的自动化软件

87310

Hazel轻松管理文件-微信聊天文件自动分类存放

(Excel、Word、PDF等等文件,自动保存到相应目录,文件类型可通过变量filterRules进行设置文件收到时间限制,比如只处理最近5分钟的文件,通过参数filterTime进行配置,单位为分钟...),方便以后查找 文件初次保存,默认第一次打开 使用场景 工作相关文件:我会选择移动到工作相关的目录,这里我是移动到自动处理目录,Hazel会监听该目录,对文件进行分类,打标签,如果是日志文件,我默认会在文件名称前添加时间前缀...,并且打开日志文件 个人文件:我会选择一个目录进行保存 实现步骤 首先是创建Hazel文件夹规则 重点讲一下MessageTemp这个文件夹的规则 首先是如何让...,触发一个Automator 工作流,进行文件的移动,为啥这里不能由Hazel直接移动,因为MessageTemp目录下,是存在很多子文件夹的,聊天文件某一个子文件夹,Hazel不能确定具体是哪一个新增的文件需要移动...set oldDelimiters to AppleScript's text item delimiters -- 设置分隔符分隔符使用 set AppleScript's text item

1.4K30

Mac中的Automator小机器人能做什么

为了创造一个菜谱,你需要做的是告诉Automator哪些是素材以及如何获取这些素材,然后烹饪的每一步该怎么做。大多数情况下,你只需要简单的拖拽就行了。...内部运行文件; 应用程序(Application):比较常用的形式,允许你创建一个单独的App,并且可以将文件拖到其图标上触发相应动作; 服务(Service):服务菜单中创建一个流程,从当前应用程序或...这里保存了所有可以添加到工作流中的操作和变量。操作是以类别--有的情况也以程序--来分类。当你点击“操作”按钮,所有的操作类别将会在最左边的面板中显示出来。...测试的时候,你可以点击工具栏中的“步进”按钮来一步一步的跟踪调试。如果需要执行从头至尾的完整流程,则点击“运行”按钮。...但是你也可以先创建一个文件夹,然后利用Automator创建一个工作流,写一段AppleScript脚本,当拖动任何文本文件到这个文件夹中,文本中的信息会自动添加到笔记软件中。

1K40

使用MONOMAC OS上开发——同步日志(二)

,就明白了利用MONOMac OS上执行.NET程序的原理了,还包装了一层壳,一层你蜕不掉的壳——通过终端上运行AppleScript来启动MONO虚拟机,然后运行MonitoringApp.exe...这段AppleScript是通过终端运行的,带来了以下麻烦: 1)写死的路径。比如我将MonitoringApp文件移动位置,就不能运行了,因为这段脚本中,路径是死的。...当然你可以去学习AppleScript,然后去搜MonitoringApp.exe文件,然后执行。但是对于只有3天时间的我,显然是不可能的。 2)无法脱离终端运行。...但是AppleScript启动的程序无法脱离终端运行。打个比方,你将终端关了,OK,你的程序也关了。这问题当时我一直没解决,现在想解决,却没苹果电脑测试了。 二:环境配置 第一步,配置配置文件。...Mac的文件系统与Window系统很不一样,使用.NET代码获取路径,比如程序启动路径等均无法获取。

1.7K30

Shell 中转换 Python 正则表达式

下面是一个示例,演示如何在Shell中将Python正则表达式转换为适用于sed的格式,也是比较稳妥的一种方式。...1、问题背景一位用户想要编写一个 AppleScript 播放列表生成器,其中一部分工作是读取 iTunes 库的 XML 文件,以便获取用户库中所有流派的列表。Python 实现如下:#!...可以读取它们sys.stdout.write('|'.join(uniques))raise SystemExit问题是,用户希望 AppleScript 是独立的,不需要额外的文件(他计划将它提供给其他人...而且,据他所知,AppleScript 本身不提供任何正则表达式功能。他可能会遍历库中的每个音轨以获取所有流派,但这是一个非常耗时的过程,而且构建播放列表他已做了一次。因此,他正在寻找替代方案。...由于 AppleScript 允许他运行 shell 脚本并捕获结果,他想象他可以使用某种类型的 shell 命令来完成同样的操作,比如 grep、perl,或其他命令。

10810

学学Mac的邮箱交互规则,让邮箱更听话

让你的《邮件》更听话 设置规则,轻松整理收件箱 写在前面的话 今天早上上班,打开Apple store,发现探索中首推了一篇《让你的邮件更听话》的详情,于是点开看了下,发现写的是Mac自带的邮箱设置规则功能...收到邮件消息,《邮件》的“规则”可以第一间帮你处理。例如,将资讯类邮件归类至“稍后阅读”,或将无需查看但想要留存的消息移动到“归档”——而这些都不用你手动操作!...你可以将规则条件设定为发件人是某个特定的人(比如你的老板)、发件人在通讯录中,或者附件中包含 PDF 文件。 ?...“邮件内容”可以帮你把提及“银联”的邮件都移至“财务”文件夹。...如果你是个 AppleScript 高手,那“运行 AppleScript”操作几乎可以让你的 Mac 做任何事! 完善设置 你是不是已经跃跃欲试,想创建自己的邮件规则了?

98130

震惊!当Python遇到Excel后,将开启你的认知虫洞

其实在我们创业公司完成一个项目,甚至参加篮球比赛,都会高频率提到一个词:团队。现在也流行着一句话:没有完美的个人,只有完美的团队。...从效果来看,applescript操作Office与Windows下通过COM组件操作Office类似,可以完全控制Office,只是applescript的语法更接近自然语言。...下面的applescript代码会创建一个新的Excel文档,并将其保存为first.xlsx文件。 ? 运行后,会看到一个打开的Excel文档,并且已经保存为firstx.xlsx文件。 ? 5....例如,要画表格线,如果一不小心将某根线拖到了别的地方,而且其他东西覆盖,那你就找把,还必须要找到,否则打印出来的表格上就会莫名其妙多了根线。结果团队好几个人弄了好几天还没弄完(也包括我)。...不需要进行数据库选型,数据库是发布后期绑定的; 2. 如果想切换数据库(例如,从MySQL换成Oracle),只需要重新发布,选择相应的数据库就可以了,不需要修改一行代码; 3.

3.5K31

干货 | 携程火车票iOS项目开发体验优化实践

,程序在运行中崩溃但是崩溃了未解开源码的组件上,自己看到的只是一堆不明所以的汇编代码(图1),无法像源码调试那样看到足够丰富的调试信息。...图1 3.1.1 二进制文件分析 如何才能不解开源码也能调试二进制、崩溃了二进制组件上也能定位到具体哪一行成了我们新的问题。...2)获取静态库中存储的编译静态库源码文件所在的路径。 3)本地创建上面获取的路径,让静态库的源码和该路径关联起来。...问题2:美团的文章中可以了解到,使用dwarfdump 命令可以获取静态库中存储的编译静态库源码文件所在的路径。...于是我们想到,既然是打包机上的路径,那就让打包机打包把包相关信息用json保存在产物目录下,install的时候,通过读取产物里面的json文件就可以获取打包源码路径。

1.1K30

MacOS CryptoMining恶意软件的崛起

接下来是'CreativeUpdate',因其2018年初,广为人知的第三方分销网络macupdate.com发布而得名。它的其中一种形式中,木马伪装为一个盗版的Firefox。...在这里,可执行文件(标为红色)是恶意软件,并且正版Firefox(标为绿色)的路径包含在恶意软件的Resources文件夹中: ?...当正版Firefox继续执行用户的浏览任务,恶意软件会运行脚本,来下载并安装Cryptominer和持久代理: ?...在这种情况下,miner以一个名为SSLor或者SSL2.plist的可执行文件的形式出现,并且最终由隐藏在盗版软件包中名为AppleScript的小程序启动。...该木马在用户的LaunchAgent文件夹中安装两个项目,第一个是com.apple.Yahoo.plist,它实际上是一个编译的,“只运行”的AppleScript,而与它在属性列表中显示的不同。

87630

使用 JavaScript 自动化你的 Mac

本文作者:IMWeb 吴浩麟 原文出处:IMWeb社区 未经同意,禁止转载 Apple发布的Yosemite系统(OSX10.10+)中有一个大家忽略的特性:使用 JavaScript编写自动化脚本...在这之前只能通过AppleScript语言给OS X编写自动化脚本。这几年JavaScript移植到了各种环境,让它有更多的可能性。...接下来介绍如何直接使用你喜欢的编辑器编写js文本并执行。...OSX自带一个自动化脚本解释器叫osascript,AppleScript和JavaScript编写的脚本都需要又他来解释执行,就像node解释执行js文件一样。...所以可以按照上面的列子编写js脚本然后命令行里执行命令: osascript-l JavaScript/path/to/file.js 或者可以js文件的顶部加上一行: #!

2.3K30

使用 JavaScript 自动化你的 Mac

Apple发布的Yosemite系统(OSX10.10+)中有一个大家忽略的特性:使用 JavaScript编写自动化脚本。在这之前只能通过AppleScript语言给OS X编写自动化脚本。...接下来介绍如何直接使用你喜欢的编辑器编写js文本并执行。...OSX自带一个自动化脚本解释器叫osascript,AppleScript和JavaScript编写的脚本都需要又他来解释执行,就像node解释执行js文件一样。...所以可以按照上面的列子编写js脚本然后命令行里执行命令: osascript-l JavaScript/path/to/file.js 或者可以js文件的顶部加上一行: #!.../usr/bin/env osascript-l JavaScript 然后chmod +x /path/to/file.js 就可以直接执行这个js文件执行自动化操作了 更多资源 苹果官方文档 高级开发文档

3.1K101

UI Browser Mac (Apple辅助功能和GUI脚本助手)

UI Browser for Mac是一款强大的GUI脚本浏览工具,UI Browser下载可以帮助您探索、操作和监视您的计算机上运行的大多数OS X应用程序的用户界面。...它为你带来的都是即安全又方便使用的功能呢,UI浏览器是Apple的辅助功能和AppleScript GUI脚本技术的最终助手。...id=MjU2NjEmXyYyNy4xODYuMTI0LjQ%3D功能介绍辅助功能和GUI脚本的终极助手PFiddlesoft具有探索,监视和控制Macintosh计算机上运行的应用程序的图形用户界面的无与伦比的经验...命令生效或网络管理员或用户采取了某些措施,或者因为您使用UI浏览器本身UI浏览器是用户界面参与者您可以通过目标应用程序的UI元素中设置用户可设置属性的值(包括窗口的大小和位置,应用程序位于最前还是隐藏...,窗口是否聚焦或最小化,窗口是否聚焦)来告诉UI Browser 控制 macOS应用程序。

1.3K20
领券