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

求编写iTunes脚本:按歌曲评分分类至播放列表后清除评分

需求可行性与实现方案

可行性判断

完全可行。iTunes(包括macOS Catalina及以后的Music应用)开放了对媒体库内容、播放列表、歌曲元数据(含评分)的脚本控制接口,能够完整实现你描述的「读取评分→分类到对应播放列表→清除评分」全流程。

推荐实现工具

首选AppleScript(适用于macOS),这是苹果官方为系统应用(含iTunes/Music)设计的原生脚本语言,语法贴合媒体库操作逻辑,无需额外依赖。若在Windows平台,可使用VBScript或AutoHotkey,但功能覆盖与易用性不如AppleScript。

具体实现建议

  • 先完成iPod Classic与iTunes的评分同步,确保评分数据已导入iTunes媒体库
  • 提前创建5个对应1-5星的播放列表,名称需与脚本内定义一致
  • 核心逻辑步骤:
    1. 遍历iTunes中所有带有非零评分的歌曲
    2. 根据评分值(1-5星)将歌曲添加到对应播放列表
    3. 将该歌曲的评分重置为0星
  • AppleScript示例片段:
tell application "iTunes"
    -- 匹配提前创建的播放列表名称
    set ratingPlaylists to {"1星歌曲", "2星歌曲", "3星歌曲", "4星歌曲", "5星歌曲"}
    -- 遍历所有带评分的库内歌曲
    repeat with aTrack in (every track of library playlist 1 whose rating > 0)
        set trackRating to rating of aTrack
        -- iTunes评分以0-100数值存储,1星=20,5星=100,计算对应列表索引
        set listIndex to (trackRating div 20)
        if listIndex ≥ 1 and listIndex ≤ 5 then
            add aTrack to playlist (item listIndex of ratingPlaylists)
            -- 清除歌曲评分
            set rating of aTrack to 0
        end if
    end repeat
end tell
  • 注意事项:
    • 运行脚本前备份iTunes媒体库,避免误操作丢失数据
    • 若使用macOS Catalina及以后版本,将脚本中的"iTunes"替换为"Music"即可兼容新应用
    • 确保播放列表名称与脚本内定义完全匹配,否则会触发匹配错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 10:34:53