我试图制作AppleScript,在用户的主文件夹中搜索名为 keyPRO 的特定文件夹。我在AppleScript中使用以下代码来执行此操作:
do shell script "find ~/ -name 'keyPRO'"
("〜/"表示在当前用户的主文件夹中搜索。)
令人讨厌的是每次我运行它时,终端在我的Library文件夹中搜索会导致"权限被拒绝"错误,以及其他随机的东西出现。
有没有办法排除用户的Library文件夹被搜索?
答案 0 :(得分:0)
最初使用shell标记您的问题,或者更具体地说,find-util会引起更多关注(terminal并未在此处发挥作用 - AppleScript' s do shell script
没有打开终端窗口,它只会创建一个 shell 子进程。)。
do shell script "find ~ -path ~/Library -prune -o -name 'keyPRO' -print"
将从您的查找命令中排除~/Library
。
在shell中,运行man find
以获取有关find
命令的更多信息。
但是,请注意,当您使用AppleScript的do shell script
时,通常不会看到警告或错误消息,除非shell命令失败(报告非零退出代码)作为一个整体(在这种情况下,AppleScript会以shell错误消息引发错误作为描述)。
警告和错误消息将发送到 stderr 流,而do shell script
默认仅捕获 stdout 。