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 ofスペースなどがある場合の問題を回避するために、POSIXパスを取得するのが一般的です。しかしas alias、引用された形式を理解しておらず、物事はうまくいきません。(つまり、エラーがスローされます。)

引用符で囲まれたパスがある場合は、次のようなエイリアスの世界に足を踏み入れるときに引用符を削除します。

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