1

我最近整理了一个 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 文件路径中使用用户名的问题的正确方向,我将不胜感激。

预先感谢您的帮助,

汤姆

4

1 回答 1

0

Use the path to (folder) command, e.g.:

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

Have a look at path to (folder) in the AppleScript Language Guide, which returns the location of the specified special folder.

于 2018-04-06T10:05:33.973 回答