2010-06-23 63 views
0

我有一個輸出文件名(每行一個)的shell腳本。我想把這個輸出放到AppleScript的列表中。在AppleScript中將列表設置爲shell腳本輸出

我該怎麼做?

如何將這些文件名字符串轉換爲文件對象的獎勵點。

編輯:

在嘗試這樣的:

set theFiles to {} 
repeat with i from 1 to count of filenames 
    set end of theFiles to (POSIX file (item i of filenames)) 
end repeat 

我得到這個:

error "Finder got an error: Can’t get POSIX file \"/path/to/file\"." number -1728 from file "Macintosh HD:path:to:file" 

EDIT 2:

原來取景器不知道的文件在「tell」語句啓動後創建。我如何更新它或讓它知道這個新文件?

編輯-3:

這個工作(注:將 「我」):

set theFiles to {} 
repeat with i from 1 to count of filenames 
    set end of theFiles to (my POSIX file (item i of filenames)) 
end repeat 
+0

這是一個「Finder」錯誤。 Finder不知道該命令,因此它錯誤。從Finder tell block中取出該命令。這是一個普通的applescript命令,而不是Finder命令。 – regulus6633 2010-06-25 07:04:48

回答

2
set myFilenamesList to paragraphs of (do shell script "path/to/shell/script") 
set firstFileObject to POSIX File (item 1 of myFilenamesList) 

當你有一個清單,你可以使用一個重複循環遍歷列表並對列表中的項目進行一些操作。例如,如果你想要一個文件對象列表,你可以這樣做。

set fileObjectsList to {} 
repeat with i from 1 to count of myFilenamesList 
set end of fileObjectsList to POSIX File (item i of myFilenamesList) 
end 
return fileObjectsList 

當然它並沒有多大意義,要做到這一點,因爲一旦你有一個列表中的文件對象,那麼你就需要不斷重複該列表做這些對象的東西......所以你當一次可能就足夠時,將會重複列表2次。所以我會這樣做,而不是...

repeat with i from 1 to count of myFilenamesList 
set thisFileObject to POSIX File (item i of myFilenamesList) 
-- do something with the file object "thisFileObject" 
end 
+0

如何爲所有文件名創建文件對象。我需要它在一個列表對象中。 – 2010-06-23 22:46:15

+0

亂成一團。看我的編輯。 – 2010-06-25 04:00:38