1

我有一个存储在名为 tempfile.txt 的文本文件中的文件列表。例如 tempfile.txt 的内容如下所示:

/path/to/my/file1.txt
/path/to/my/file2.txt
/path/to/my/file3.txt

我想使用 Applescript 在 Finder 中更改这些文本文件的标签颜色,但无法获取实际的文件对象(而不是作为字符串的文件名和路径)。这是我到目前为止所拥有的:

-- some work has already been done to set tempfile to tempfile.txt

set files_to_update to paragraphs of (read tempfile) -- this works fine
repeat with myfile in files_to_update
    set selected_file to POSIX path of myfile -- this works fine
    set label index of selected_file to 1 -- trying to set this file to orange fails with error "A property can't go after this identifier"
end repeat

有什么帮助吗?

4

2 回答 2

4
set input to "/Users/username/Desktop/untitled folder/
/Users/username/Desktop/Untitled.txt"

repeat with f in paragraphs of input
    set f to POSIX file f
    tell application "Finder" to set label index of (f as alias) to 1
end repeat

用于POSIX file获取文本路径的文件对象。(POSIX path of用于获取文件或别名的文本路径。)label index是 Finder 项目的属性。

于 2012-06-13T05:30:16.250 回答
-1

上面的答案是正确的,但我被一些简单的东西绊了一下,所以我想我会提到它:

在使用路径执行 Unix-y 操作时,通常会获取quoted form ofPOSIX 路径,以避免路径中有空格等问题。但是as alias不理解引用的形式,事情就会出错。(即抛出错误。)

如果您有带引号的路径,请在进入别名世界时去掉引号,如下所示:

set label index of ((text 2 thru -2 of f) as alias) to 1
于 2015-04-20T20:28:00.207 回答