0

iTunesのすべての曲名をtxtドキュメントに書き込もうとしています。私が抱えていた最初の問題は、操作を正しくループできないように見えることでした。以下は、iTunes の最初の 15 曲のテスト ケースです。

tell application "TextEdit"  
    make new document  
end tell  
tell application "iTunes"  
    set trNameID1 to name of track 1  
    set trNameID2 to name of track 2  
    set trNameID3 to name of track 3  
    set trNameID4 to name of track 4  
    set trNameID5 to name of track 5  
    set trNameID6 to name of track 6  
    set trNameID7 to name of track 7  
    set trNameID8 to name of track 8  
    set trNameID9 to name of track 9  
    set trNameID10 to name of track 10  
    set trNameID11 to name of track 11  
    set trNameID12 to name of track 12  
    set trNameID13 to name of track 13  
    set trNameID14 to name of track 14  
    set trNameID15 to name of track 15  
    tell application "TextEdit"  
        set text of document 1 to {trNameID1 & "  
", trNameID2 & "  
", trNameID3 & "  
", trNameID4 & "  
", trNameID5 & "  
", trNameID6 & "  
", trNameID7 & "  
", trNameID8 & "  
", trNameID9 & "  
", trNameID10 & "  
", trNameID11 & "  
", trNameID12 & "  
", trNameID13 & "  
", trNameID14 & "  
", trNameID15} as text  
    end tell  
end tell

ループしようとすると、txt ドキュメントには最後の曲名しか含まれていません。たとえば、次のようになります。

tell application "TextEdit"  
    make new document
end tell
tell application "iTunes"
    set trNum to 1
    repeat 15 times
        set trNameID to name of track (trNum)
        tell application "TextEdit"
            set text of document 1 to trNameID & "
"
        end tell
    end repeat
end tell

これにより、15 番目の曲の名前のみが txt ドキュメントに出力されます。

これは非常に基本的なことかもしれませんが、文字通り約 48 時間 AppleScript を使用しており、これを理解できないようです。C++ で文字列を読み取って分析できるように、すべての曲名を txt ドキュメントに入れたいと考えています。誰にもアイデアはありますか?

また、AppleScript で、iTunes ライブラリ全体を調べて最後の曲を確認し、その曲の ID を iTunes に記録し、その ID を通過する繰り返しループを作成する方法があるかどうかはわかりません。このようにして、ライブラリにある曲の数だけループが機能します。

どんなアイデアでも大歓迎です!

4

3 に答える 3

0

私はあなたがすべてを使用しているのを見ます:

アプリケーションに「TextEdit」と伝える

新しいドキュメントを作成

ドキュメント 1 のテキストを trackNames に設定します

終わりを告げる

コマンドより高速な方法を使用できます。

textlocation を「/users/yourusername/desktop/test.txt」に設定します

Line_1 を「こんにちは、これは 1 行目です。さらに行が必要な場合は、このスクリプトをコピーして変数を変更してください。」

do shell script "echo " & Line_1 の引用形式 & " >> " & textlocation の引用形式

スクリプトで 2 つの ">>" 記号を確認できます。これにより、各テキスト行が txt ファイルの新しい行に追加されます。">" が 1 つしかない場合は、そのテキストが他のテキストに置き換わります。

次に例を示します。

最初に 2 つの ">>" 行で

do shell script "echo ちょっと一行です。 >> /Users/Yourusername/desktop/Add.txt"

do shell script "echo 2つ目です。 >> /Users/Yourusername/desktop/Add.txt"

このスクリプトは、次のような txt ファイルを作成します。

ねえ、これは1行です。

そして、これが2つ目です。

">" 行が 2 つになりました

do shell script "echo Hey this is one line > /Users/Zl109819/desktop/Add.txt"

do shell script "echo そしてこれが2つ目 > /Users/Zl109819/desktop/Add.txt"

このスクリプトは、次のような txt ファイルを作成します。

そして、これが2つ目です。

于 2016-05-02T06:56:23.807 に答える