【问题标题】:How do I look for corrupt files using Applescript?如何使用 Applescript 查找损坏的文件?
【发布时间】:2012-02-27 19:05:19
【问题描述】:

我正在使用一台旧的 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

编译时它没有给我一个语法错误,但是当我运行它时,它说:

“Finder 出错:无法继续搜索。”

有什么帮助吗?

谢谢!

【问题讨论】:

  • Finder 没有名为“search”的命令,当您在应用程序 tell 语句中定位您自己的处理程序时,您需要使用术语“my”。我怀疑你没有这个搜索处理程序,那么“在 iphotolibrary 文件夹中搜索别名”应该做什么?

标签: applescript corruption


【解决方案1】:
  1. 在不中断控制流的情况下处理 AppleScript 中的异常情况的常规方法是将有问题的代码部分包装在 try … on error … end 构造中。 AppleScript Language Guideits appendix C 中有完整的错误处理文档。
  2. 但是,就您的代码而言,问题不是文件损坏或其他情况,而是如对应于错误代码 –1708(未处理事件)的错误文本所示,您使用了search ,Finder 的 AppleScript 字典不支持的术语,位于 tell 块中,将其范围设置为 Finder 的(如 his comment 中的 @Red_Menace 正确说明的那样)。要么您定义了自己的 search for 处理程序,在这种情况下您需要使用 my search for,或者您没有,在这种情况下您的代码无论如何都无法工作。

【讨论】:

  • 您必须说明代码的用途才能让我回答 - 就您的问题而言,只有一些 AppleScript 代码无法完成它的用途……所以,要退一步:脚本要实现的究竟是什么? search for alias in 不会做任何事情——search 不是定义的处理程序,alias 是保留关键字(因此不能用于变量名)。请充实您的问题,我会尽力而为!
  • 它是用来查找损坏的文件的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 2017-02-26
  • 2015-01-20
相关资源
最近更新 更多