#macos #applescript #photo
#macos #applescript #фотография
Вопрос:
Я хотел бы отсканировать свою библиотеку фотографий (macOS 10.15.6, приложение Photos 5.0) и экспортировать исходное имя файла выбранных фотографий в текстовый файл. У меня есть простой скрипт ниже в качестве отправной точки, который неправильно преобразует имя файла в читаемый текст. Я ожидаю, что мне нужно выполнить какую-то операцию «преобразовать в строку» для имени файла, но я получаю пустые ответы…
Любые предложения будут оценены
код, который я сейчас использую:
set myFile to open for access "/Users/ed/Desktop/testFile.txt" with write permission
write "file startn" to myFile
tell application "Photos"
activate
set imageSel to (get selection)
if imageSel is {} then
error "Please select an image."
else
repeat with im in imageSel
write filename of im to myFile
write "nnext photon" to myFile
end repeat
end if
end tell
write "file endn" to myFile
close access myFile
Ответ №1:
Я предлагаю создать список имен файлов, затем преобразовать список в абзацы с text item delimiters
помощью и записать текст на диск.
Кроме того, настоятельно рекомендуется добавить в деталь надежную обработку ошибок write
.
tell application "Photos"
set imageSel to selection
if imageSel is {} then
error "Please select an image."
else
set theNames to {"file start"}
repeat with im in imageSel
set end of theNames to filename of im
end repeat
set end of theNames to "file end"
end if
end tell
set {TID, text item delimiters} to {text item delimiters, linefeed}
set theNames to theNames as text
set text item delimiters to TID
set testFile to POSIX path of (path to desktop) amp; "testFile.txt"
try
set fileDescriptor to open for access testFile with write permission
write theNames to fileDescriptor
close access fileDescriptor
on error
try
close testFile
end try
end try
Комментарии:
1. Вадиан: Спасибо… этот код дает именно тот результат, который я хотел. Мне нужно будет немного почитать, чтобы полностью понять решение, но вы указали мне отличный путь.