Я пытаюсь изменить appleScript, который принимает текстовый файл и создает новую задачу с каждой строкой текстового файла:
set myFile to (choose file with prompt "Select a file to read:")
open for access myFile
set fileContents to read myFile using delimiter {linefeed}
close access myFile
tell application "Things"
repeat with currentLine in reverse of fileContents
set newToDo to make new to do ¬
with properties {name:currentLine} ¬
at beginning of list "Next"
-- perform some other operations using newToDo
end repeat
end tell
Вместо этого я бы хотел просто использовать буфер обмена в качестве источника данных, чтобы мне не приходилось каждый раз создавать и сохранять текстовый файл, есть ли способ загрузить буфер обмена и для каждой новой строки , выполнить функцию newToDo?
Пока это моя попытка, но она, похоже, не работает и помещает весь буфер обмена в одну строку. Кажется, я не могу найти правильный разделитель.
try
set oldDelims to AppleScript's text item delimiters -- save their current state
set AppleScript's text item delimiters to {linefeed} -- declare new delimiters
set listContents to get the clipboard
set delimitedList to every text item of listContents
tell application "Things"
repeat with currentTodo in delimitedList
set newToDo to make new to do ¬
with properties {name:currentTodo} ¬
at beginning of list "Next"
-- perform some other operations using newToDo
end repeat
end tell
set AppleScript's text item delimiters to oldDelims -- restore them
on error
set AppleScript's text item delimiters to oldDelims -- restore them in case something went wrong
end try
EDIT:
С помощью ответа ниже код невероятно прост!
set listContents to get the clipboard
set delimitedList to paragraphs of listContents
tell application "Things"
repeat with currentTodo in delimitedList
set newToDo to make new to do ¬
with properties {name:currentTodo} ¬
at beginning of list "Next"
-- perform some other operations using newToDo
end repeat
end tell