You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppleScript脚本无法修改Apple Music选中曲目英文大小写问题求助

问题分析与修复方案

可能的原因及解决步骤

1. 权限不足(最常见原因)

AppleScript需要获得控制Music的权限才能修改曲目信息,按以下步骤检查:

  • 打开「系统偏好设置」→「安全性与隐私」→「隐私」标签页
  • 选择左侧列表的「自动化」
  • 在右侧找到你的脚本运行工具(比如「Script Editor」),确保「Music」对应的复选框已勾选

2. 正则逻辑优化(确保符合需求)

原脚本的Perl正则未针对全大写单词做排除处理,复杂场景下可能不符合预期。修改正则后,可确保仅对非全大写的单词应用首字母大写规则,全大写内容保持原样:

修改后的properEnglishCapitalization函数:

on properEnglishCapitalization(textString)
    set newText to do shell script "echo " & quoted form of textString & " | perl -pe 's/(?<=\\b|^)(\\w+)(?!\\p{Lu}*\\b)/\\u$1/g'"
    return newText
end properEnglishCapitalization

3. 脚本逻辑优化(确保修改生效)

去掉多余的属性操作,增加激活Music和日志输出的逻辑,确保选中曲目被正确识别和修改:

on properEnglishCapitalization(textString)
    set newText to do shell script "echo " & quoted form of textString & " | perl -pe 's/(?<=\\b|^)(\\w+)(?!\\p{Lu}*\\b)/\\u$1/g'"
    return newText
end properEnglishCapitalization

tell application "Music"
    activate -- 确保Music处于激活状态,正确获取选中曲目
    set selectedTracks to selection
    if selectedTracks is not {} then
        repeat with aTrack in selectedTracks
            set trackName to name of aTrack
            set newName to my properEnglishCapitalization(trackName)
            if newName is not trackName then
                set name of aTrack to newName
                log "修改曲目名称:" & trackName & " → " & newName -- 调试日志,可在Script Editor控制台查看
            end if
        end repeat
        display dialog "已完成" & (count of selectedTracks) & "首曲目的名称修正"
    else
        display dialog "请先在Music中选中至少一首曲目"
    end if
end tell

4. 验证选中状态

运行脚本前,确保Music中选中的是具体曲目(而非播放列表、专辑等),且Music处于前台激活状态。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:52:24