2

トラック名を引用符で囲むと、トラックがプレイリスト「トーク」に正常に追加されます。例を参照してください:

tell application "iTunes"
    duplicate track "Big Ruby Conf 2013 Keynote by Jim Weirich-vIHdhaF2R2w.mp3" to      playlist "talks"
end tell

しかし、私がやりたいことは、次のように、プレイリストに追加したいトラックのコマンド ライン引数を渡すことです。

on run argv
    tell application "iTunes"
        duplicate track argv to playlist "talks"
    end tell
end run

これを行うと、次のエラーが表示されます。

osascript add_track_to_talks.scpt  "Big Ruby Conf 2013 Keynote by Jim Weirich-vIHdhaF2R2w.mp3"
    add_track_to_talks.scpt: execution error: iTunes got an error: A descriptor type    mismatch occurred. (-10001)

私はそれをテストするために簡単なものを書いたので、コマンドライン引数を渡すことが機能することを知っています:

on run arg
    log "hello: " & arg
end run

このコマンドで実行すると:

osascript log_test.scpt "Blake"

私はこの出力を得る:

hello: Blake

コマンドライン引数としてトラック名を渡す正しい方法に関するアイデアはありますか?

4

1 に答える 1

2

リストである argv から 1 つの項目を参照する必要があります。

on run argv
    tell application "iTunes"
        duplicate track (first item of argv) to playlist "talks"
    end tell
end run
于 2013-09-08T01:59:10.283 に答える