2016-07-10 6 views
0

各段落の異なるタイトルのテキストファイルに基づいて再生リストから曲を取得できますが、別のテキストファイルを使用して再生リスト 'SongList'そのタイトルは私の 'SongList'テキストファイルのタイトルの1つと一致しますか?段落区切りリストを使用してiTunesの再生リストから曲を削除

テキストファイルを読み取る方法を知っている

set mySampleText to read file "Macintosh SSD:path:to:file.txt" 

そして、それ

set paras to paragraphs of mySampleText 

のパラグラフを取得するしかし、私はいずれかと名前を共有する任意のトラックを削除する方法を見つけることができませんかmySampleTextの行

誰でも手助けできますか?

おかげ

遅刻

答えて

1

は、以下のスクリプトは、テキストファイルと同じタイトルで曲を検索し、削除します。 注意してください、削除アクションと逆のことはありません!

set FText to choose file "select your text file" -- select text file 

set mySampleText to read FText -- read txt file 
set Paras to paragraphs of mySampleText 

tell application "iTunes" 
tell playlist "My preferred playlist" 
repeat with aSong in Paras -- loop to each title 
    set myTracks to (every track whose name is aSong) 
    if (count of myTracks) > 0 then -- only if found 
     set myTrack to item 1 of myTracks -- take first item found 
     Delete myTrack 
    end if 
end repeat 
end tell 
end tell 

同じタイトルのトラックが複数ある場合は、そのケースを管理する必要があります。上のスクリプトは最初のトラックしか見つけられません。

デビュー時に「削除」を「再生」に置き換えることを強くお勧めします。 (安全であるために)。

タイトルに特殊文字が含まれていると、txtファイルが正しくエンコードされていることを確認してください。

+0

Pbell、プレイリストから削除するだけですか?私はそれらをiTunesから完全に削除したくありません。 –

+0

私は "tell playlist" ...と "end tell"を追加してスクリプトを更新しました。そうすることで、トラックは指定されたプレイリストからのみ削除されます。このブロックがなければ、トラックはメインライブラリから削除されます(そしてすべてのプレイリストから削除されます)。 – pbell

+0

本当に役に立ちます。ありがとう、ベル!あなたもプレイリストに「告げる」ことができるのを忘れてしまった! –

関連する問題