无法将the_folder设置为用户文件夹(访问被拒绝)

时间:2018-06-26 04:49:28

标签: applescript posix dropbox access-denied folder-permissions

我已经搜索了几个小时,并且每次尝试推荐的修复程序。我仍然无法到达任何地方。我感觉好像缺少了这么明显的东西,我的Mac正在嘲笑我的失败尝试。

这是脚本:

tell application "System Events"
set the_folder to path to folder "dropbox" from user domain as string
set the_file to "ToDo.txt" of (POSIX path of the_folder)
set the_text to (do shell script "cat " & quoted form of (POSIX path of the_file))
return the_text
end tell

结果:

  

无法获得(the_folder的POSIX路径)的“ ToDo.txt”。不能访问   允许。

文件夹也不重要。我已经尝试过Documents / Library,但始终会遇到访问问题。

1 个答案:

答案 0 :(得分:1)

这是脚本的正确版本:

    tell application "System Events"
        set the_folder to the folder "~/Dropbox"
        set the_file to the file "ToDo.txt" in the_folder

        set the_text to do shell script "cat " & ¬
            quoted form of (POSIX path of the_file as text)
    end tell

    return the_text

注意事项如下:

  1. 对于内置AppleScript常量未引用的文件夹,例如Path Tohome folder,请不要使用desktop folder。相反,我将行更改为对具有指定路径folder的{​​{1}}对象的简单引用。
  2. 类似地,您需要在声明文件名之前放置一个"~/Dropbox"对象说明符,否则,您所做的所有工作都会得到 System Events 一段文字,并说位于文件夹中的某处(没有任何意义)。现在,我告诉系统事件,它是file,文本是文件的名称,它确切地知道在哪里可以找到它。
  3. 最后,由于某种原因,您需要声明file属于类POSIX path of the_file。我真的不知道为什么AppleScript看不到它已经是文本,但是有时候就是这样。

现在,我将向您展示另一个脚本,该脚本将完全执行您的操作:

text