• 2

[認識]Leopard的 Automator - 實戰篇

[認識]Leopard的 Automator - 實戰篇《Automator能做什麼?》
每個人使用工作流程的目的不同、需求不同,所以創造出來的Workflow也不盡相同。譬如我們可以利用Automator來進行:
◎檔案和檔案夾的處理:快速更名、搬移複製檔案、製作替身、壓縮檔案、製作映像檔、燒錄光碟等等。
◎音樂相關的處理:播放iTunes裡的音樂、下載網站音樂至iTunes、同步iPod等。
◎影像處理:批次轉換影像格式、添加色彩描述資訊、旋轉、裁切、反轉、濾鏡、視訊拍照等。
◎PDF:PDF浮水印製作、影像檔與PDF檔的轉換、從網路下載照片至iPhoto等。
◎Mail與網路:收發EMail、寄送照片音樂檔、下載RSS連結、上傳檔案等。
◎檔案夾外掛:Workflow能儲存為檔案夾外掛模組,附加檔案夾額外的功能。

Automator可以執行很多樣的工作流程,但是也有辦不到的狀況:

【Case I - 對於多重條件,無法自己作決定】
我們可以指定Otto做一些特定的工作流程,但是Otto不能辨別「如果...發生狀況1,就執行流程1;如果...發生狀況2,執行流程2;否則就執行流程3」這種多重條件。

【Case II - 迴圈(Loop)無法適用的情形】
什麼是迴圈?如果朋友們看過「櫻桃小丸子」,應該不難體會迴圈的精隨。每當小丸子和爺爺面臨無法自拔的窘境時,就會出現一道無盡深淵的迴圈轉阿轉...同樣地,每當看到Mac彩球不停旋轉時,腦後也有一道無奈的迴圈開始轉阿轉...

由於Workflow傳遞資料的方向是單向、直線式的,我們可以在Workflow的最後放置一個迴圈動作,告訴Otto回到第一個步驟執行流程,這是迴圈的最主要的功能,但是也面臨了一種窘境是:

如果我們要將1000個大型圖檔進行合成濾鏡呢?

Otto的邏輯是:「同時開啟」這1000個檔案 > 「同時處理」這1000個檔案 > 「同時儲存」這1000個檔案 ==>重複這個流程,直到我們選擇停止...現階段高階電腦也不一定能負荷如此龐大的運算。因此,在這種情況下迴圈的功能就無用武之地。

幸運地,現在我們能在http://automator.us/下載免費Action:Dispense Items Incrementally回來安裝,安裝方法請參考樓下的文章,有了這項指令的工作流程就能一次處理一個檔案,直到所有檔案處理完畢。
(圖1)
[認識]Leopard的 Automator - 實戰篇


《Action - 輸入與輸出》
觀察Action的描述視窗(圖2),裡頭記載了「輸入」與「輸出」的訊息,告訴我們Action可以接受什麼樣類型的資料。在設計工作流程時,養成讓「動作1的輸出類型=動作2的輸入類型」的好習慣,可以降低工作流程出錯的機率。


有時候無法避免時,也不必擔心,Automator遇到不同類型的資料進行輸入輸出時(如圖3),會自行將資料轉換成相同類型,如果無法轉換則顯示錯誤訊息。
(圖3)
[認識]Leopard的 Automator - 實戰篇

(圖2)
[認識]Leopard的 Automator - 實戰篇


《Automator 與簡易個人檔案管理》

早期我在使用Windows時,常見許多檔案管理者喜歡將檔案資料建立成盤根錯節的樹狀結構,分類清楚。偏偏糊塗我對於這種層層相接的樹狀結構相當感冒,原因在於「過長的檔案路徑」以及「不怎麼聰明的搜尋功能」,常常讓我找檔案像在挖土一樣,終於挖到檔案時,發覺離目的地檔案夾太遠、甚至零星散佈,於是只好借助「剪下」功能,另開新視窗作「貼上」的動作。最後,開再多的視窗做剪下、貼上、搬移、複製檔案都覺得不夠用,於是為了安撫不平的心情,只能安慰自己說:「螢幕太小,換大一點的螢幕應該就會改善吧...」(陷入無止盡的敗家迴圈...)

因此,我在歸類檔案時,養成不將檔案置放離磁碟根目錄太遠(小於三、四層檔案夾)的習慣,方便我點選、移動檔案,然而這樣做的結果就是發現:咦?怎麼第二/三層的資料夾越來越多、越來越多...最後,視窗捲軸小妹也拯救不了被掩埋的檔案。

現在,切換至Mac後,Mac OSX簡鍊的檔案架構,搭配實用指數滿分的標籤、即時搜尋即時顯示的Spotlight、四種瀏覽方式等,檔案管理的問題迎刃而解,對於我這個懶人實在是福音。

首先,我們依據Mac OSX的檔案結構,將輸入電腦的檔案進行簡單幾個動作:
☉「文件、音樂、圖形檔、電影檔、工具程式」分類

☉第二層檔案夾:
文件(DOC/TXT/PPT/PDF/...)、音樂/影片(交由iTunes/iMove管理)、圖檔(JPG/PNG/GIF/...)...等。

☉加上標籤/Spotlight註解:
對於具有特殊性、重要性的檔案加上標籤以顏色區別,每個檔案補進spotlight註解,關鍵字可以是第二層檔案夾名、檔案內容、分類依據等等;配合點擊搜尋列(Cmd⌘-F)輸入關鍵字,Finder視窗馬上會把所有符合關鍵字的檔案列出來,再搭配改變顯示方式:圖示(Cmd⌘-1)/列表(Cmd⌘-2)/欄位(Cmd⌘-3)/Cover Flow(Cmd⌘-4),讓檔案的管理頓時變得相當容易。

☉製作替身(Cmd⌘-L):
Mac OSX底下的替身也是另一個有用的功能, 它的優勢在於體積小、幾乎不佔空間;無論放在哪個資料夾下、或是更動替身/原始檔名稱都能正確開啟原始檔案;甚至也可以將替身存在隨身碟中,在外藉由網路連結到原始檔案。


同時利用接下來介紹三個常用的工作流程來幫助我們,這些流程可以儲存成.app格式,拖拉至Finder工具列/側邊欄成為快速按鈕。
[認識]Leopard的 Automator - 實戰篇(圖4)

《設定標籤與Spotlight註解》
☉標籤【右鍵點選任一檔案/夾 > 標籤】與
☉Spotlight註解【右鍵點選任一檔案/夾 > 簡介(Cmd⌘-i) 】/【Finder 視窗工具列 > 動作選單 > 簡介(Cmd⌘-i)】

在Mac OSX檔案管理中被譽為最有用的功能之一,原因在於我們可以利用「標籤」功能,賦予檔案視覺上的區分,更甚者,它是Mac系統裡唯一具備能讓群組檔案依照字母順序排序的方法!使用「Spotlight」註解,給予檔案更多關鍵字,再搭配Mac OSX即時顯示的搜尋視窗(Finder視窗下,Cmd⌘-F / Cmd⌘-Space / Alt-Cmd⌘-Space)使用關鍵字搜尋,幫助我們跳脫傳統檔案系統的窠臼,以更有效率的方式進行檔案管理。如果硬是要作一個比喻,就...想像我們現在正在使用Gmail郵件標籤分類、搜尋的功能吧!

在面對成群未分類的檔案時,一個檔案一個檔案修改標籤、註解是個不聰明的方式。

因此我們得想辦法利用Automator的指令,將「取得檔案 > 加入標籤 > 更改Spotlight註解」流程自動化:

1.) 新增新的Workflow(Cmd-N) > 起始點(Start Point) > 我的Mac > 在工作流程執行時,使用在Finder裡選擇的檔案和檔案夾 >取得所選Finder項目:
otto會傳遞我們點選的檔案/夾給下一個Action使用。

2.)新增為Finder項目加上標籤:
預設值是沒有點選任一種顏色(打叉╳符號),如果我們想預設黃色標籤,就點選黃色,otto將會使用黃色為預設值套用在上一個Action傳下來的檔案/夾,然後輸出帶有黃色標籤的檔案/夾;如果我們希望執行Workflow時讓我們選擇顏色,那麼請在這項Action裡點選「選項」> 勾選「工作流程執行時顯示此動作」,如此一來,otto執行時會顯示提示視窗,讓我們點選標籤顏色。

3.) 新增設定Finder項目的Spotlight註解:
這個Action視窗裡頭有段「新增 Spotlight 註解」的灰色文字為預設值,此處我們可以不更動或是輸入任意的文字當作預設值。接著確認勾選「附加現有註解」,並在「選項」一欄勾選「工作流程執行時顯示此動作」,讓otto執行Workflow時,顯示提示視窗,讓我們輸入註解。

(圖5)
[認識]Leopard的 Automator - 實戰篇


《特定類型檔案的批次命名》
在檔案管理時,我們常會有機會面臨將一堆特定類型檔案作重新命名的狀況,Automator也能將這個流程「取得(特定類型)檔案 > 命名」實現:

1.) 新增新的Workflow(Cmd-N) > 起始點(Start Point) > 我的Mac > 在我的工作流程執行時要求檔案和檔案夾 >要求Finder項目:
在「提示:」輸入「請選擇檔案夾,Otto將重新命名底下檔案:」,類型選擇「檔案夾」,在這個例子裡我們不允許複選,確保一次只處理一個檔案夾。

2.) 取得檔案夾內容:
新增這個動作的同時,Automator應該會跳出一個警告視窗問我們是否用備份檔來處理,請選擇「不要加入」,不使用備份檔。
[認識]Leopard的 Automator - 實戰篇(圖6)

3.) 過濾Finder項目:
我們增加這一項動作,設定「檔案類型」「是」「JPEG影像檔」,並勾選「工作流程執行時顯示此動作」,讓Otto過濾出JPEG檔、把JPEG檔傳給下一個動作。

4.) 排序Finder項目:
預防Otto在取得檔案夾內資料後,不依照名稱順序排列,因此我們加入這個動作,讓檔案能先依照檔案名稱排序,再傳遞給下一個動作。

5.) 重新命名Finder項目:
這裡有好幾項設定值,可以依照自己需求設定,或者打開「選項」> 勾選「工作流程執行時顯示動作」,在Workflow執行後就會跳出視窗讓我們設定命名規則。


Tips:
☉命名原則:在Mac OSX裡:`(Tab鍵上方),^(Shift-6),_,-,空格,短/長dash,逗點,分號,!,?,',",(,),[,],{,},@,*,/,&,#,%,+,<,=,>,|,~,$分別依照此順序排列,再來是「數字」、「英文字母」、 µ(Opt-M),π(Opt-P),Ω(Opt-Z),(Shift-Opt-K)。

☉空格:空格在排列順序裡頭大於字母,所以我們可以在命名「檔案夾」時,前方先置一個空格,接著書入檔名,就可以在名稱排序時將檔案夾移至最上方,緊接著是依照字母順序排列的檔案。

☉補零:在Windows或者較早以前的作業系統裡,當「1.jpg、2.jpg、3.jpg」與「11,jpg、21.jpg、31.jpg」在同一個檔案夾裡時,排列順序會變成「1.jpg、11.jpg、2.jpg、21.jpg、3.jpg、31.jpg」,所以早期為了正確的檔案排列順序,我們通常會在檔案前方補上「前導零」,如:「1.jpg 」>「01.jpg」或者「001.jpg」...。現在在OS X底下,這個情況已經改善,檔案系統已經能夠自動排序為「1.jpg、2.jpg、3.jpg、11.jpg、21.jpg、31.jpg」。

(圖7)
[認識]Leopard的 Automator - 實戰篇


《設定檔案夾顯示方式(Cmd⌘-J)》
在瀏覽Finder視窗時,我們可能會需要將圖片檔案夾以圖形或Cover Flow(請搭配服用Finder視窗最大化)的方式預覽,文件以及下載項目以列表或欄位的方式預覽,「選取檔案夾 > 打開顯示方式選項(Cmd⌘-J)」,進行設定,現在我們也可以利用Automator來執行這項工作流程,好處是Otto可以將設定套用至子檔案夾。

1.) 取得所選Finder項目
2.) 設定檔案夾顯示方式:設定四種預覽方式,如圖。在「圖像」和「列表」顯示的設定裡,讓「標籤、註解、種類、大小」出現,前三者的排序功能對於檔案管理以及瀏覽很有實質幫助。

[認識]Leopard的 Automator - 實戰篇[認識]Leopard的 Automator - 實戰篇
[認識]Leopard的 Automator - 實戰篇[認識]Leopard的 Automator - 實戰篇


《其他範例》

《Email照片縮圖》
對於一些影像處理工作者,有時會需要將照片的縮圖寄發給客戶,我們會從「iPhoto選取照片 > 製作縮圖 > 在Mail裡新增郵件」此時這個工作流程就派上用場囉。

1.) 要求照片:
如果iPhoto Library裡的照片只是替身檔,那麼這個工作流程會出錯,此時請替換這個Action為「取得/要求Finder項目/取得指定的Finder項目」。

2.) 製作縮覽圖影像:
會在iPhoto裡產生縮圖檔,並傳遞縮圖檔給下一個步驟。

*3.) 搬移Finder項目:
這個指令是預防在第二個動作產生的縮圖檔遺留在iPhoto裡頭,因此我們設定這個動作將縮圖檔移至桌面。

*這裡有個限制:如果這個動作的路徑設定為「桌面」,那麼第一步動作要選擇的圖檔「一定不能」放在桌面上,建議另開資料夾存放。

4.) 新增Mail郵件:
這個動作會打開Mail,新增一封郵件,並且把縮圖檔加入附件。

(圖12)
[認識]Leopard的 Automator - 實戰篇


《特定檔案分類》
關於分類特定檔案的方法,我是這麼做:建立分類檔案的工作流程(分類JPG/PNG/GIF) > 儲存各個工作流程為(~/圖片)檔案夾外掛 > 拖曳未分類的檔案至~/圖片 > Otto會自動將檔案分類至JPG/PNG/GIF檔案夾中。

「~/圖片檔案夾下 > 取得JPEG檔案 > 搬移JPEG檔至~/圖片/JPG」

1.) 變數 > 「所在位置」點選「圖片」,拖曳工作流程視窗:
我們使用變數值「圖片」,來告訴Otto要使用「圖片」這個檔案夾,接著開啟Automator下方的工作流程變數列表,把「圖片」拖曳至工作流程視窗中,會看到「取得變數的數值」這個Action出現。

2.) 取得檔案夾內容
這裡不勾選「重複每一個找到的子檔案夾」,確保Otto只搜尋~/圖片檔案夾的第一層檔案。

3.) 過濾Finder項目:
設定「檔案類型」「是」「JPEG影像檔」,讓Otto把jpeg檔傳遞給下一個動作。

4.) 搬移Finder項目:
路徑設定「~/圖片/JPG」,讓Otto把jpeg檔搬移至JPG檔案夾內。

5.) 檔名:Move JPG,儲存成「圖片」檔案夾動作。

重複這五個步驟,分別設計分類PNG/GIF/...的工作流程。
[認識]Leopard的 Automator - 實戰篇


最後,祝朋友們使用愉快!
2008-05-07 14:02 發佈
哇~越來越有趣囉!!!

我想請教糊塗兄
如果我希望做一個檔案夾,每次把圖檔或是音樂檔案丟到這個檔案夾之後
這個檔案夾會自動詢問我要把檔案寄給誰
等填妥收件人後,這些檔案會用每封信一個附件檔的方式寄出

不知道這樣有沒有辦法做到???
http://blog.roodo.com/appleseed
appleseed wrote:
如果我希望做一個檔案夾,每次把圖檔或是音樂檔案丟到這個檔案夾之後
這個檔案夾會自動詢問我要把檔案寄給誰
等填妥收件人後,這些檔案會用每封信一個附件檔的方式寄出

你的想法是:
把五個圖檔、兩個音樂檔丟進資料夾 > 開啟mail新增郵件 > 附件是這七個檔壓縮成的ZIP檔 > 收件人為所有選取的聯絡人?

還是:
把五個圖檔、兩個音樂檔丟進資料夾 > 開啟mail新增郵件 > 附件是七個檔案中隨機挑選的一個檔 > 每封信收件人只允許一個聯絡人?
心若守正,何福不隨
我希望的是
把五個圖檔、兩個音樂檔丟進資料夾 > 開啟mail新增七封郵件 > 七封郵件附件分別是這七個檔


http://blog.roodo.com/appleseed
appleseed wrote:
我希望的是把五個圖檔...(恕刪)

恩,不行。把檔案丟進工作流程裡後,Otto的邏輯是:「取得所有檔案,傳遞所有檔案 > Mail接收所有檔案為附件」。
而非:「取得單一檔案,傳遞單一檔案 > Mail接收單一檔案為附件」 ==>重複這個流程直到Otto處理完所有檔案。

補充
找到解決方法:
1.)請至http://automator.us/下載Dispense Items Incrementally Action回來安裝。

2.)安裝好之後,在Automator 「檔案和檔案夾」類別中,可找到Dispense Items Incrementally這個動作。

3.)設計工作流程時,在「取得指定的 Finder 項目, 取得所選項目, 拷貝 Finder 項目, 複製 Finder 項目, 尋找 Finder 項目, 過濾 Finder 項目, 搬移 Finder 項目, 排序 Finder 項目」等等動作後,加入Dispense Items Incrementally這項動作。

*4a.)新增「取得檔案夾內容」,如果要將此工作流程用於檔案夾功能上,請務必添加這項動作,不作任何設定。

4.)工作流程最後一定要以「迴圈」動作結束,因為使用Dispense Items Incrementally的工作流程只會執行一次,所以這個動作我們不作任何設定。

執行後會跳出視窗詢問是否繼續,請一直點選繼續,Otto會開一封新郵件+第一個檔案 > 開第二封新郵件+第二個檔案 > ...以此類推,直到全部的檔案都讀取完畢,流程停止。

*目前Automator 2只有寄送生日卡片能讀入收信人Email,普通的新增郵件中還無法讓使用者添加收信人,所以只能先做到開啟七封新郵件,再分別輸入收信人等資訊。

所以你提出來的工作流程就如下圖所示:
心若守正,何福不隨
水!!!

呵呵,今天累了,最近較忙,改天再找時間來消化,辛苦了,打了那麼多~~~偶幫你擦擦汗
糊塗兄毒放很大
害我越看越想裝leopard了
再來找看看有什麼可以賣
換現金買作業系統
【Beyond Berlin】http://beyondberlin.blogspot.com/
推薦一個常用的套件
Photoshop CS3 Action Pack
作者網站
可向下兼容cs2 cs 再以下的沒試過
喜歡的話 別忘了贊助一下作者

唔...這篇我用文字敘述稍微多了一點,

千萬不要變成勸拜文阿......

感恩...
心若守正,何福不隨
我又有問題了!
請問迴圈這個動作有沒有辦法讓它自動判斷次數後停止?
像是上面那個例子,放5張圖,他就自己迴圈五次?
http://blog.roodo.com/appleseed
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?