无法将 the_folder 设置为用户文件夹(拒绝访问)
Can't set the_folder to a user folder (access denied)
我已经搜索了几个小时,每次我都尝试推荐的修复方法。我仍然无法到达任何地方。我觉得我错过了一些如此明显的东西,我的 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
结果:
Can’t get "ToDo.txt" of (POSIX path of the_folder). Access not
allowed.
文件夹是什么也没关系。我试过 Documents/Library,但仍然总是遇到访问问题。
这是您脚本的更正版本:
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
注意事项如下:
- 不要对未被内置 AppleScript 常量引用的文件夹使用
Path To
,例如 home folder
或 desktop folder
。相反,我将该行更改为对具有指定路径 "~/Dropbox"
. 的 folder
对象的简单引用
- 同样,你需要在声明文件名之前放置一个
file
对象说明符,否则你所做的只是给系统事件一块text 并说文本在文件夹中的某个位置(这没有多大意义)。现在我已经告诉 System Events 它是一个 file
并且文本是文件名,它确切地知道在哪里可以找到它。
- 最后,出于某种原因,您需要声明
POSIX path of the_file
的类型为 class text
。我真的不知道为什么 AppleScript 看不到它已经是文本,但有时就是这样。
现在我将向您展示另一个脚本,它完全可以执行您的操作:
set the_text to read (POSIX path of ¬
(path to home folder) & ¬
"Dropbox/ToDo.txt" as POSIX file as alias)
我已经搜索了几个小时,每次我都尝试推荐的修复方法。我仍然无法到达任何地方。我觉得我错过了一些如此明显的东西,我的 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
结果:
Can’t get "ToDo.txt" of (POSIX path of the_folder). Access not allowed.
文件夹是什么也没关系。我试过 Documents/Library,但仍然总是遇到访问问题。
这是您脚本的更正版本:
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
注意事项如下:
- 不要对未被内置 AppleScript 常量引用的文件夹使用
Path To
,例如home folder
或desktop folder
。相反,我将该行更改为对具有指定路径"~/Dropbox"
. 的 - 同样,你需要在声明文件名之前放置一个
file
对象说明符,否则你所做的只是给系统事件一块text 并说文本在文件夹中的某个位置(这没有多大意义)。现在我已经告诉 System Events 它是一个file
并且文本是文件名,它确切地知道在哪里可以找到它。 - 最后,出于某种原因,您需要声明
POSIX path of the_file
的类型为 classtext
。我真的不知道为什么 AppleScript 看不到它已经是文本,但有时就是这样。
folder
对象的简单引用
现在我将向您展示另一个脚本,它完全可以执行您的操作:
set the_text to read (POSIX path of ¬
(path to home folder) & ¬
"Dropbox/ToDo.txt" as POSIX file as alias)