避免在HFS文件路径

时间:2018-04-06 09:50:50

标签: macos applescript filepath hfs

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

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

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

为了避免这个问题,我找了谷歌,在那里我找到了一些关于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文件路径中用户名的问题,我真的很感激。

提前感谢您的帮助,

汤姆

1 个答案:

答案 0 :(得分:0)

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

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

查看path to (folder)中的AppleScript Language Guide,它会返回指定特殊文件夹的位置。