Как искать поврежденные файлы с помощью Applescript? - PullRequest
0 голосов
/ 27 февраля 2012

Я использую старый ноутбук Mac, на котором не работает Time Machine. Я должен сделать резервную копию вручную, скопировав папки и файлы на мой внешний жесткий диск. Однако, когда он сталкивается с поврежденным файлом (в основном поврежденные файлы являются изображениями), он прекращает перемещение файла. Он не позволит мне переместить другие файлы, он просто перестанет перемещать вещи. Мне нравится использовать Applescript для таких вещей, как это, как обычный английский! Вот что я попробовал:

tell application "Finder"
set iphotolibrary to "/Users/sbrenner/Desktop/iPhoto Library 20-26-43"
end tell
tell application "Finder"
search for alias in folder iphotolibrary
end tell

Это не дает мне синтаксическую ошибку, когда я его компилирую, но когда я запускаю его, он говорит:

"Искатель получил ошибку. Не удается продолжить поиск."

Любая помощь?

Спасибо!

1 Ответ

0 голосов
/ 27 февраля 2012
  1. нормальный способ обработки исключительного состояния в AppleScript без прерывания потока управления состоит в том, чтобы заключить проблемный код в конструкцию try … on error … end. Руководство по языку AppleScript содержит полную документацию по обработке ошибок в в приложении C .
  2. , однако в случае вашего кода проблема не является поврежденнойфайл или другое условие, но, как указано в тексте ошибки, который соответствует коду ошибки –1708 (необработанное событие), вы используете search, термин, не поддерживаемый словарем AppleScript в Finder, внутри блока tell, который устанавливает егообласть видимости будет принадлежать Искателю (как правильно указано @ Red_Menace в его комментарии ).Либо вы определили свой собственный обработчик search for, в этом случае вам нужно использовать my search for, либо нет, в этом случае ваш код не будет работать, несмотря ни на что.
...