Результаты Applescript в текстовый файл

Я пытаюсь написать сценарий Apple, который получает ненастроенные телепередачи и помещает имя файла (желательно без полного пути, просто "what.m4v") в текстовый файл.

Вот код, который у меня есть:

tell application "iTunes"
    set watchedEpisodes to tracks of playlist "TV Shows" whose unplayed is false and played count > 0
    set unwatchedEpisodes to tracks of playlist "TV Shows" whose unplayed is true
    if (count unwatchedEpisodes) > 0 then
        set trackNames to {}
        repeat with anEpisode in unwatchedEpisodes
            set end of trackNames to ((name of anEpisode) as text) & " of show " & show of anEpisode & " Filename: " & location of anEpisode
        end repeat

        set {TID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, return}

        set unwatchedTVShows to trackNames as text
        do shell script "echo " & unwatchedTVShows & " > /Volumes/Data/Media/Kodi/unwatchedTVShows.txt"

        #display dialog trackNames as text

        set AppleScript's text item delimiters to TID
    end if
end tell

Я получаю следующую ошибку:

error "iTunes got an error: sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file" number 2

Если я заменим переменную unwatched TVShows в операторе do shell следующим образом:

do shell script "echo " & "test" & " > /Volumes/Data/Media/Kodi/unwatchedTVShows.txt"

он работает так, как я ожидал (у меня есть имя файла "unwatchedTVShows.txt", и он содержит слово "test". Я могу использовать строку "Показать диалог trackNames as text", которую я сейчас прокомментировал, и она отлично работает. отсутствует?

1 ответ

Решение

Список шоу содержит кавычки и пробелы. Просто уберите весь список с помощью quoted form of:

do shell script "echo " & quoted form of unwatchedTVShows & " > /Volumes/Data/Media/Kodi/unwatchedTVShows.txt"
Другие вопросы по тегам