「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄

在mac底下做事,有很多很方便的功能可以使用,這次要用的是 Automator,一個自動化流程設計工具。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄
他就是Automator。

最近公司做設計的同事剛好有個需求,要把某個目錄底下所有的 .svn 資料夾殺光光。偏偏 Mac 上的 svn GUI client 沒有該功能(windows 版的烏龜就有)。所以就用 Automator 新增了一個 Finder 服務(OS X 10.6)。

這個服務主要的功能就是刪除特定資料夾之內所有的 .svn 資料夾。
來看看執行時的畫面:
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄

主要的結構是取得 Finder 選取的檔案項目,然後判斷如果型別是資料夾且名稱是 .svn 就幹掉,多加了遞迴尋找的參數,所以會從選取的資料夾開始往下找到最底層資料夾。

主要的關鍵其實就是一行bash指令,你如果都在終端機做事,那也可以直接使用該指令:

find . -type d -name .svn -depth -exec rm -rf {} \

接下來我們就來看看如何新增一個 Finder 服務吧。

1. 執行 Automator (這是廢話)。

2. 選擇要新增的樣板,要選 "服務"。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄

3. 從 Automator 左半邊列表把下列的項目照順序"拖到"右半邊,並且確認右半邊畫面上方的 服務接收所選的"檔案夾"在"Finder"。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄
依序為"要求確認">"取得所選的 Finder 項目">"執行 Shell 工序指令">"Show Growl Notification"。

3-1. "要求確認",這是一個確認執行動作的對話框,標題跟說明可以自由更改。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄

3-2. "取得所選的 Finder 項目",不需變動。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄

3-3. "執行 Shell 工序指令",這一個最重要,做事情的就是這裡。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄
要確認 Shell 是 /bin/bash,然後輸入以下語法:
for f in "$@"
do
find "$f" -type d -name .svn -depth -exec rm -rf {} \;
done
說明一下重要參數:
-type d 這是指定找資料夾(目錄)
-name .svn 這是指定找名稱為 .svn
-depth 這是指定找該資料夾含以下的所有資料夾
-exec rm -rf {} \ 對符合的項目執行 rm -rf {} \

3-4. "Show Growl Notification",如果你沒有安裝或使用 Growl,那就把這一步驟按X刪掉。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄

4. 存檔,存檔名稱就會是出現在 Finder 選單的名稱。
「分享」幫你的 Finder 加上自己想要的服務:刪除特定資料夾下,所有的 .svn 目錄

然後開啟你的 Finder 來用用看,用法就是在 Finder 中選取一個資料夾,按右鍵(Ctrl+Command),選擇 "服務" > "剛剛存檔的名稱",點下去就對啦。

第一次分享教學文,文意不通順處還請不吝提問

附件是 workflow 形式的檔案。Automator 新增"服務"時,可以直結把裡面的節點拖過去用。
附加壓縮檔: 201007/mobile01-67ea78846d7e6c9f738180c4833917b6.zip
2010-07-15 13:03 發佈
嗯嗯..原來還可以這樣用..
若是會寫指令的話,不就什麼動作都可以簡化成成mouse右鍵點一下.
感謝你
看到這個我忽然想到我每次在壓漫畫時都要一集一集慢慢點
所以我自已就改了一下
for f in "$@"
do
zip -r "$f".zip "$f"
done

這樣壓zip就快多了




可是 我發現我用這樣壓
壓出的zip解開來的路徑會像



但是我希望是像下面這樣



請問指令有要改那裡嗎
剛好需要用到,這東西很棒!!
謝謝你的分享:D

另外想請問,"$@"這個是代表會收到「取得所選的Finder項目」所傳過來的arguments嗎?
CFC in the SKY
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?