0

我正在尝试制作一个 AppleScript 来搜索用户主文件夹中名为keyPRO的特定文件夹。我在 AppleScript 中使用以下代码来执行此操作:

do shell script "find ~/ -name 'keyPRO'"

(“~/”表示在当前用户的主文件夹中搜索。)

令人讨厌的是,每次我运行它时,终端都会在我的库文件夹中搜索,这会导致“权限被拒绝”错误,以及其他随机的东西出现。

有没有办法从搜索中排除用户的库文件夹?

4

1 回答 1

0

标记您的问题,或者更具体地,会引起更多关注(不会在这里发挥作用 - AppleScriptdo shell script不会打开终端窗口,它只是创建一个shell子进程。)。

do shell script "find ~ -path ~/Library -prune -o -name 'keyPRO' -print"

~/Library将从您的 find 命令中排除。

从 shell 运行man find以获取有关该find命令的更多信息。

但是,请注意,当您使用 AppleScript 时,通常不会看到警告或错误消息do shell script,除非 shell 命令作为一个整体失败(报告非零退出代码)(在这种情况下,AppleScript 会以 shell 错误消息作为描述抛出错误) )。

警告和错误消息被发送到stderr流,而do shell script默认情况下只捕获stdout

于 2015-05-14T21:49:07.953 回答