我正在尝试制作一个 AppleScript 来搜索用户主文件夹中名为keyPRO的特定文件夹。我在 AppleScript 中使用以下代码来执行此操作:
do shell script "find ~/ -name 'keyPRO'"
(“~/”表示在当前用户的主文件夹中搜索。)
令人讨厌的是,每次我运行它时,终端都会在我的库文件夹中搜索,这会导致“权限被拒绝”错误,以及其他随机的东西出现。
有没有办法从搜索中排除用户的库文件夹?
我正在尝试制作一个 AppleScript 来搜索用户主文件夹中名为keyPRO的特定文件夹。我在 AppleScript 中使用以下代码来执行此操作:
do shell script "find ~/ -name 'keyPRO'"
(“~/”表示在当前用户的主文件夹中搜索。)
令人讨厌的是,每次我运行它时,终端都会在我的库文件夹中搜索,这会导致“权限被拒绝”错误,以及其他随机的东西出现。
有没有办法从搜索中排除用户的库文件夹?
最初用shell标记您的问题,或者更具体地,find-util会引起更多关注(终端不会在这里发挥作用 - 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。