You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

《Tag and move》AppleScript在High Sierra系统中失效求助

解决macOS High Sierra升级后《Tag and move》AppleScript失效问题

我是一名Oracle开发人员,几乎完全没接触过AppleScript,相关技术一窍不通,现在急需一个通俗易懂的解决方案。之前写的一段名为《Tag and move》的AppleScript脚本最近突然失效了,我推测是升级到macOS High Sierra系统后导致脚本不兼容。脚本的部分代码如下:

on run {input, parameters} 
    repeat with theFile in input 
        set FileName to theFile as text 
        tell application "Finder" 
            -- 后面的逻辑没写完...

作为经常帮人解决AppleScript问题的老玩家,我给你几个简单好懂的排查和修复步骤,完全不用你懂复杂的脚本知识:

1. 先检查最常见的权限问题

macOS High Sierra开始大幅加强了隐私权限管控,很可能你的脚本现在没有访问Finder或者文件的权限了,这是最常见的失效原因:

  • 打开「系统偏好设置」→「安全性与隐私」→切换到「隐私」标签页
  • 在左侧列表里找到「完全磁盘访问权限」,点击右下角的锁图标输入密码解锁
  • 在右侧列表里勾选「脚本编辑器」(如果你的脚本是用Automator做的快速操作,还要勾选「Automator」)
  • 重启一下脚本编辑器或者Automator,再试试运行脚本

2. 修复文件路径的兼容问题

High Sierra对AppleScript里的文件路径处理做了小调整,你原来的set FileName to theFile as text这种写法容易出问题,改成下面的兼容写法:

-- 替换原来的set FileName那一行
set FileName to POSIX path of theFile

如果是要在Finder里用这个路径,就把这行放到tell application "Finder"的块里,保证路径格式完全兼容。

3. 给你一个完整的兼容版参考脚本

因为你给的代码片段不全,我写了一个完整的、适合High Sierra的《Tag and move》基础版本,你可以直接用或者改成你需要的逻辑:

on run {input, parameters}
    -- 遍历所有拖进来的文件
    repeat with theFile in input
        tell application "Finder"
            -- 给文件打标签:数字1对应红色,你可以改数字换颜色(2=橙,3=黄,4=绿,5=蓝,6=紫,7=灰)
            set label index of theFile to 1
            -- 把文件移动到目标文件夹,这里替换成你自己的文件夹路径!
            -- 路径格式要写成"/Users/你的用户名/目标文件夹/"这种形式
            move theFile to folder POSIX file "/Users/yourname/Documents/已标记文件/"
        end tell
    end repeat
end run

4. 测试脚本的小技巧

  • 打开「脚本编辑器」,把上面的代码粘贴进去,替换成你自己的目标文件夹路径
  • 拖几个测试文件到脚本编辑器的图标上,点击运行按钮(▶️)
  • 如果弹出权限请求,一定要点「允许」,不然脚本还是没法工作

如果你的原脚本有更复杂的逻辑(比如判断文件类型、自定义标签规则),可以把完整代码发出来,我再帮你针对性调整。

内容的提问来源于stack exchange,提问作者KJordan

火山引擎 最新活动