【问题标题】:AppleScript choose file dialog box store last folder opened in text file.AppleScript 选择文件对话框存储在文本文件中打开的最后一个文件夹。
【发布时间】:2015-07-20 04:36:14
【问题描述】:

这似乎是一件很容易做到的事情,我很惊讶解决方案仍然无法解决。

我正在尝试存储“选择文件”对话框打开的最后一个文件夹。我想将该文件夹的位置存储在文本文件中。

我想让我的“选择文件”对话框始终打开到最后使用的文件夹。

我已经完成了很多脚本,但是有一件奇怪的事情一直在逃避我。

看看我的脚本...

set Shows to paragraphs of (read POSIX file "/Users/lowken/Documents/config.txt")

set strPathFromConfig to item 1 of Shows as string

set strPathFromConfig to ((characters 3 thru -1 of strPathFromConfig) as string)

display dialog strPathFromConfig

set strPath to (path to home folder as text) & strPathFromConfig

display dialog strPath

choose file with prompt "Please choose a file:" of type {"XLSX", "APPL"} default location alias strPath

脚本读取我的配置文本文件,其中包含一行和一串“文档”。

我修剪了一些前导的乱码,并显示一个带有“文档”结果的对话框。

然后我使用配置文件中的值设置 strPath。

我显示新值是否是我系统上的有效位置。

接下来我尝试打开对话框,我收到一条错误消息“文件别名 Macintosh HD:Users:lowken:Documents of was not found.

让我们更改脚本,而不是使用从 config.txt 文件中提取的值,我只需在脚本中设置一个字符串变量。

set Shows to paragraphs of (read POSIX file "/Users/lowken/Documents/config.txt")

set strPathFromConfig to item 1 of Shows as string

set strPathFromConfig to ((characters 3 thru -1 of strPathFromConfig) as string)

display dialog strPathFromConfig

set strTemp to "Documents"

set strPath to (path to home folder as text) & strTemp

display dialog strPath

choose file with prompt "Please choose a file:" of type {"XLSX", "APPL"} default location alias strPath

现在可以了。 AppleScript 似乎不想使用从 config.txt 文件中查找的值。

我做错了什么?我尝试投射到别名,我尝试了系统上的不同位置。

在我看来,不知何故从文本文件中查找的值不是字符串数据类型。

有什么想法吗?

附:

我在 2012 年中期的 MacBook Pro 上运行 OS X Yosemite 10.10.4。

【问题讨论】:

    标签: applescript


    【解决方案1】:

    问题在于您的“config.txt”文档的编码。

    read 命令可以读取(MacRomanUTF-8UTF-16)编码的文本文件,但您必须指定类型class,否则它将文本文件读取为MacRoman。

    set strPathFromConfig to paragraph 1 of (read "/Users/lowken/Documents/config.txt" as «class ut16») -- or if UTF-8 use —> as «class utf8»
    set strPath to ((path to home folder as text) & strPathFromConfig) as alias
    choose file with prompt "Please choose a file:" of type {"XLSX", "APPL"} default location strPath
    

    对于其他编码,您必须更改“config.txt”文档的编码。

    【讨论】:

    • 我想可能是这样。至少这对我来说是有意义的。
    • 做到了。以世界上所有美好事物的名义,您如何输入« & » 符号?我能够复制和粘贴以使其正常工作,但我很想知道如何输入这些符号。
    • 这取决于键盘。在 美国 键盘上:按 Shift + \ 键 键入左双尖括号。按 Option + Shift + \ 键 键入右双尖括号。
    【解决方案2】:

    选择文件命令的默认位置可以是 Unix 路径“/Users/my_user/Documents”或带有别名的 Finder 路径,例如:别名“HD:Users:my_User:Documents” 所以首先检查 strPath 是正确的值,然后如果确定,请仔细检查它的类:

    Display Dialog (class of strPath) as string
    

    这可能不行,你必须强制(作为字符串的主文件夹路径)而不是文本。

    【讨论】:

    • 我的直觉告诉我,当我从“选择文件”不喜欢的文本文件中提取值时,数据类型存在一些问题。我会尝试转换为字符串(尽管我想我已经尝试过了)。
    • 在您的第一个脚本中,您将路径分配为“文本”...将其分配为“字符串”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2011-04-25
    • 1970-01-01
    • 2017-11-30
    • 2021-08-26
    • 1970-01-01
    相关资源
    最近更新 更多