맥에서 파일 자동 변환하는 Quick Action 만드는 방법

맥을 사용하다 보면 이미지나 동영상 파일의 형식을 바꿔야 할 때가 많아요. 매번 변환 프로그램을 열어서 하나씩 처리하는 건 정말 번거로운 일이에요. 다행히 macOS의 Automator를 활용하면 파인더에서 파일을 선택하고 우클릭만으로 간단하게 변환할 수 있어요.




Automator로 Quick Action 생성하기


먼저 Automator를 실행해요. Spotlight 검색(Command + Space)에서 Automator를 입력하거나 응용프로그램 폴더에서 찾을 수 있어요.


새 문서를 만들 때 여러 옵션이 나타나는데, 여기서 Quick Action을 선택해요. Quick Action은 Finder의 우클릭 메뉴에 추가되어 편리하게 사용할 수 있어요.


워크플로 설정에서 다음과 같이 지정해요:


  • 워크플로 입력 받기: 파일 또는 폴더
  • 응용프로그램: Finder


필수 변환 도구 설치하기


파일 변환을 위해서는 외부 도구가 필요해요. 터미널을 열고 Homebrew를 통해 설치해요.


이미지 변환용 ImageMagick 설치:

brew install imagemagick


동영상 변환용 ffmpeg 설치:

brew install ffmpeg


문서 변환을 원한다면 LibreOffice나 pandoc도 설치할 수 있어요:

brew install libreoffice
brew install pandoc


Shell Script 액션 추가하기


Automator의 액션 목록에서 Run Shell Script를 찾아 워크플로에 드래그해요. 이때 중요한 설정이 있어요. Pass input 옵션을 반드시 as arguments로 변경해야 해요. 이렇게 해야 선택한 파일들의 경로가 스크립트로 전달돼요.


이미지를 WebP로 변환하는 스크립트


가장 많이 사용하는 이미지 변환 예제부터 살펴볼게요. JPG나 PNG 파일을 WebP로 변환하는 스크립트예요:

export PATH=/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin

for f in "$@"
do
    fname="${f%.*}.webp"
    convert "$f" "$fname"
done


이 스크립트는 선택한 각 파일에 대해 확장자를 .webp로 바꿔서 변환해요. export PATH 부분은 Automator가 변환 도구를 찾을 수 있도록 경로를 설정하는 거예요.


동영상 파일 변환 스크립트


MOV나 AVI 파일을 MP4로 변환하고 싶다면 이렇게 작성해요:

export PATH=/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin

for f in "$@"
do
    fname="${f%.*}.mp4"
    ffmpeg -i "$f" -vcodec libx264 -acodec aac "$fname"
done


ffmpeg의 옵션을 조정하면 화질이나 용량을 원하는 대로 설정할 수 있어요. 예를 들어 -crf 23을 추가하면 품질을 조절할 수 있어요.


여러 파일 형식을 한 번에 처리하기


다양한 파일 형식을 하나의 Quick Action으로 처리하고 싶다면 조건문을 사용해요:

export PATH=/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin

for f in "$@"
do
    ext="${f##*.}"
    
    # 이미지 파일 처리
    if [[ "$ext" == "jpg" || "$ext" == "jpeg" || "$ext" == "png" ]]; then
        fname="${f%.*}.webp"
        convert "$f" "$fname"
    
    # 동영상 파일 처리
    elif [[ "$ext" == "mov" || "$ext" == "avi" ]]; then
        fname="${f%.*}.mp4"
        ffmpeg -i "$f" -vcodec libx264 -acodec aac "$fname"
    
    # PDF를 이미지로 변환
    elif [[ "$ext" == "pdf" ]]; then
        fname="${f%.*}_page.jpg"
        convert -density 200 "$f" "$fname"
    
    # Word 문서를 PDF로 변환
    elif [[ "$ext" == "docx" ]]; then
        lowriter --convert-to pdf --outdir "$(dirname "$f")" "$f"
    fi
done


이렇게 작성하면 파일 확장자에 따라 적절한 변환 방법을 자동으로 선택해요.


특정 파일만 선택적으로 변환하기


때로는 특정 확장자만 변환하거나 제외하고 싶을 때가 있어요. 이럴 때는 조건문을 활용해요:


특정 확장자만 처리하는 예제:

for f in "$@"
do
    ext="${f##*.}"
    if [[ "$ext" == "jpg" || "$ext" == "jpeg" ]]; then
        fname="${f%.*}.webp"
        convert "$f" "$fname"
    fi
done


특정 확장자를 제외하는 예제:

for f in "$@"
do
    ext="${f##*.}"
    if [[ "$ext" != "gif" && "$ext" != "bmp" ]]; then
        fname="${f%.*}.webp"
        convert "$f" "$fname"
    fi
done


변환 실패 시 해결 방법


자동 변환이 작동하지 않는다면 몇 가지를 확인해보세요.


가장 흔한 문제는 PATH 설정이에요. M1 맥과 Intel 맥은 Homebrew 설치 경로가 달라요. 터미널에서 which convert나 which ffmpeg를 입력해서 실제 경로를 확인하고 스크립트에 반영해요.


권한 문제가 있을 수도 있어요. 시스템 환경설정의 개인정보보호에서 Automator에 전체 디스크 접근 권한을 부여해보세요.


파일명에 공백이나 특수문자가 있으면 오류가 날 수 있어요. 그래서 스크립트에서 파일 경로를 항상 쌍따옴표로 감싸는 게 중요해요.


원본 파일 보존하기


변환하면서 원본 파일을 보존하고 싶다면 Run Shell Script 액션 앞에 Copy Finder Items 액션을 추가해요. 백업 폴더를 지정하면 원본 파일이 그곳에 복사된 후 변환이 진행돼요.


변환 결과 정리하기


변환된 파일을 특정 폴더로 자동 이동시키려면 스크립트를 약간 수정해요:

export PATH=/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin
output_dir="$HOME/Desktop/Converted"
mkdir -p "$output_dir"

for f in "$@"
do
    filename=$(basename "$f")
    fname="${filename%.*}.webp"
    convert "$f" "$output_dir/$fname"
done


이렇게 하면 변환된 파일이 데스크탑의 Converted 폴더에 저장돼요.


Quick Action 저장하고 사용하기


모든 설정이 끝나면 워크플로를 저장해요. 이름은 Convert to WebP처럼 알기 쉽게 지어요.


이제 Finder에서 파일을 선택하고 우클릭하면 빠른 동작 메뉴에서 만든 액션을 볼 수 있어요. 여러 파일을 동시에 선택해서 한 번에 변환할 수도 있어요.


처음에는 설정이 복잡해 보일 수 있지만, 한 번 만들어두면 정말 편리하게 사용할 수 있어요. 특히 반복적인 작업을 자주 하는 분들에게는 시간을 크게 절약해주는 도구가 될 거예요.


매일 새벽 3시에 노션 페이지가 자동으로 백업되는 시스템 만들기