2016-02-24 44 views
0

我目前有一個AppleScript,它將一個包含長列表的硬編碼純文本文件讀入一個變量,然後將其作爲段落讀入另一個變量。該腳本對我的目的非常有效。這基本上是我在用的:使用Automator將任何.txt文件傳遞到現有AppleScript

set fileHandler to (read POSIX file "/path/to/my/file.txt") 
set newList to paragraphs of fileHandler 

repeat with i in newList 
    # do stuff 
end repeat 

省略的腳本打開Safari瀏覽器的位置,使用i該網頁上的變量的JavaScript調用,將結果寫入到一個新的純文本文件,關閉Safari瀏覽器窗口,然後重複。它會一直持續到列表末尾,然後在repeat之外運行一個do shell script,它會清理新的文本文件。

問題是,每次我想使用不同的列表運行腳本時,我必須打開硬編碼文件並粘貼到列表中。我寧願將任何.txt文件放在一個包含我當前腳本的Automator應用程序中。

我試過使用「合併文本文件」,我覺得我已經非常接近了,但我無法完全按照自己喜歡的方式傳遞.txt文件的內容。我不能通過它,除非我做錯了它。和「獲取變量值」/「設置變量值」添加額外的「文本」項目我的列表,我不明白。

理想情況下,我想這樣做:

set fileHandler to (read POSIX file arg) -- the dropped text file 
set newList to paragraphs of fileHandler 

repeat with i in newList 
    # do stuff 
end repeat 

...但它不工作方式,很遺憾。

我真的寧願不改造一個全新的腳本,如果我可以幫助它。任何建議都會很棒。謝謝。

回答

1

Automator實際上並不需要。將此代碼作爲應用程序(包)保存在腳本編輯器中,並將文件放到它上面。

on open theFiles 
    repeat with aFile in theFiles 
    set newList to paragraphs of (read aFile) 

    repeat with i in newList 
     # do stuff 
    end repeat 
    end repeat 
end open 
+0

;)我知道我錯過了一些簡單的...謝謝。 – celestialroad

相關問題