避免在 HFS 文件路径中使用用户名

Avoiding username in an HFS file path

我最近整理了一个 AppleScript 文件,它喜欢一次读取一个文件。我用来执行此操作的命令是:

set paragraph_ores to read file "Macintosh HD:Users:MYUSERNAME:Desktop:ORES.txt" using delimiter linefeed

现在,虽然这可以按预期完美运行,但问题来了,我希望将其集成到一个单独的应用程序中,该应用程序会在必要时 运行 该脚本,但我意识到每个人都需要使用代码必须进入此脚本并专门输入他们的用户名,这对某些人来说可能很棘手或乏味。

为了避免这个问题,我查看了 Google,在那里我找到了一些关于 HFS 文件路径的更多信息,我之前不知道这些信息,发现一般公式是:

<Volume Name>:<Directory Name>:...:<Directory Name>:<Filename>

他们给出的使用此类文件路径的示例是:

Macintosh HD:Applications:Safari.app

事实证明这令人困惑,因为它根本没有引用用户名。因此,我尝试将原始命令行更改为:

set paragraph_ores to read file "Macintosh HD:Desktop:ORES.txt" using delimiter linefeed

然而,这被证明是不成功的,我收到了一个错误。我的下一个想法是为当前用户名设置一个变量并将其集成到路径中,如下所示:

tell application "System Events"
    set username to name of current user
end tell
set paragraph_ores to read file "Macintosh HD:Users:" & username & ":Desktop:ORES.txt" using delimiter linefeed

不幸的是,出于某种原因,这似乎也不起作用。 如果有人能指出正确的方向来解决这个避免在 HFS 文件路径中使用用户名的问题,我将不胜感激。

提前感谢您的帮助,

汤姆

使用path to (folder)命令,例如:

set paragraph_ores to read file ((path to desktop as string) & "ORES.txt")

查看path to (folder) in the AppleScript Language Guide,其中returns指定特殊文件夹的位置。