Результаты 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"