使用 automator 簡化日常工作流程
寫腳本的目的就是簡化重複的操作,大家都是宅宅工程師不需要再說廢話,這裡介紹我怎麼使用 automator 的。
每次寫文章時要把圖片壓縮避免上傳大檔案到 Git 裡面,以宅宅工程師的方式就是
- 打開終端
- 輸入 magick
- 上鍵找到之前用的指令
- 把路徑改成這次的檔案路徑
- 最後再把圖片移動到專案目錄裡面
要打一堆字就算了還要在滑鼠跟鍵盤之間來回移動麻煩死了!於是看向 automator,用了他之後原本五個步驟的流程現在只要這樣
讚讚讚,而且支援轉換一整個文件夾,這篇既是教學也是記錄,免的連自己都忘記要怎麼用。
設定
先用 brew 安裝 imagemagick,這個腳本使用老牌且可靠的 imagemagick 轉換圖片,在終端貼上 brew install imagemagick 即可。
接著是 Mac Automator 整合腳本的教學。
- 打開 Automator
- 螢幕上方 bar 選擇「檔案」>「新增」
- 選擇「應用程式」
- 最左側程式庫中選擇 finder 圖示的「檔案和檔案夾」
- 往右邊一層的選單中,雙擊「取得指定的 Finder 項目」
- 最左側程式庫中選擇「工具程式」
- 往右邊一層的選單中,雙擊「執行 Shell 工序指令」
- 最右側有兩個區塊,下方的區塊就是前一步新增的「執行 Shell 工序指令」,在該區塊的左上角 shell 選擇「/bin/bash」,右上角傳遞輸入選擇「作為引數使用」
- 在同一個區塊下方的文字框,貼上腳本
#!/bin/bash
LOGFILE="/tmp/magick_conversion.log"
echo "=== 開始轉換 `date` ===" >> "$LOGFILE"
for input in "$@"; do
if [[ -f "$input" ]]; then
# 處理單個檔案
dir=$(dirname "$input")
filename=$(basename "$input")
name="${filename%.*}"
output="$dir/$name.webp"
echo "轉換 $input → $output" >> "$LOGFILE"
/opt/homebrew/bin/magick "$input" -sampling-factor 4:2:0 -strip -quality 80 "$output" >> "$LOGFILE" 2>&1
if [[ $? -eq 0 ]]; then
echo "成功: $output" >> "$LOGFILE"
else
echo "失敗: $input" >> "$LOGFILE"
fi
elif [[ -d "$input" ]]; then
# 處理資料夾
parent_dir=$(dirname "$input")
folder_name=$(basename "$input")
output_dir="$parent_dir/${folder_name}_webp"
mkdir -p "$output_dir"
echo "處理資料夾 $input → $output_dir" >> "$LOGFILE"
find "$input" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" -o -iname "*.bmp" \) | while read file; do
rel_path=${file#"$input/"}
output_file="$output_dir/${rel_path%.*}.webp"
output_subdir=$(dirname "$output_file")
mkdir -p "$output_subdir"
echo "轉換 $file → $output_file" >> "$LOGFILE"
/opt/homebrew/bin/magick "$file" -sampling-factor 4:2:0 -strip -quality 80 "$output_file" >> "$LOGFILE" 2>&1
if [[ $? -eq 0 ]]; then
echo "成功: $output_file" >> "$LOGFILE"
else
echo "失敗: $file" >> "$LOGFILE"
fi
done
fi
done
echo "=== 轉換結束 `date` ===" >> "$LOGFILE"
- 螢幕上方 bar 選擇「檔案」>「儲存」,名稱隨意,格式預設不需改變(應用程式)
- 開啟 Finder,按住 ⌘ 拖曳剛才儲存的應用程式,拉到到 Finder 上方
- (可選)到 macosicons 挑一個喜歡的圖示下載
- (可選)在 Finder 選取剛才製作的應用程式,右鍵取得資訊,把下載的檔案拖曳到機器人圖示上
- 大功告成!