Claude Code로 간단한 자동화 스크립트 만드는 법

매번 똑같은 파일 정리, 똑같은 엑셀 취합을 손으로 하면서도 “스크립트 하나 짜면 될 텐데”라고 미뤄본 적이 있으실 겁니다. 문제는 그 스크립트 하나를 만드는 데 검색하고 붙여넣고 오류 고치느라 두세 시간이 걸린다는 점입니다. 하루 10분짜리 반복 작업이 한 달이면 다섯 시간인데, 그걸 없애려는 준비 작업이 더 오래 걸리니 계속 미루게 됩니다. 이 글에서는 Claude Code 사용법을 처음부터 따라가면서, 실제로 돌아가는 파일 정리 자동화 스크립트 하나를 완성해 보겠습니다.

Claude Code가 기존 AI 코딩 도구와 다른 점

ChatGPT나 Claude 웹 화면에서도 코드를 받을 수 있습니다. 다만 받은 코드를 편집기에 붙여넣고, 실행해 보고, 오류 메시지를 다시 복사해서 물어보는 왕복이 계속 생깁니다. Claude Code는 이 왕복을 없앤 도구입니다. 터미널에서 실행하면 현재 폴더의 파일을 직접 읽고, 수정하고, 명령까지 실행합니다. 오류가 나면 그 오류를 스스로 보고 고칩니다.

도구작업 방식자동화 스크립트 만들 때
Claude Code터미널·IDE에서 파일을 직접 읽고 쓰고 실행만들고 → 실행하고 → 고치는 과정까지 한 자리에서
GitHub Copilot편집기 안 인라인 자동완성 중심타이핑 보조에 강하지만 실행·검증은 직접
웹 챗봇 (ChatGPT 등)브라우저 대화창코드 복사·붙여넣기 왕복이 계속 필요

터미널 CLI 외에 데스크톱 앱(윈도우·맥), 웹(claude.ai/code), VS Code·JetBrains 확장으로도 쓸 수 있습니다. 이 글은 가장 기본인 터미널 기준으로 설명합니다.

설치하고 첫 실행하기

Node.js가 먼저 필요합니다(18 버전 이상). 설치돼 있는지는 터미널에서 node -v로 확인하면 됩니다. 없다면 nodejs.org에서 LTS 버전을 받아 설치하세요.

npm install -g @anthropic-ai/claude-code

# 작업할 폴더로 이동한 뒤 실행
cd C:\work\my-scripts
claude

처음 claude를 실행하면 브라우저가 열리면서 로그인 절차가 진행됩니다. 로그인이 끝나면 터미널에 대화 입력창이 뜹니다. 여기서부터는 사람에게 일을 부탁하듯 한국어로 그냥 말하면 됩니다.

작업할 폴더에서 실행하는 게 중요합니다. Claude Code는 현재 폴더를 기준으로 파일을 읽고 씁니다. 바탕화면이나 사용자 홈 폴더처럼 잡다한 파일이 많은 곳에서 시작하면 엉뚱한 파일을 건드릴 수 있으니, 스크립트를 모아둘 빈 폴더를 하나 만들어 두는 편이 안전합니다.

실전 1: 다운로드 폴더 정리 스크립트 만들기

가장 흔한 자동화부터 해보겠습니다. 대화창에 이렇게 입력합니다. 기술 용어를 쓸 필요는 없고, 원하는 결과와 예외 상황을 구체적으로 적는 게 요령입니다.

다운로드 폴더에 파일이 수백 개 쌓여 있어.
확장자별로 이미지/문서/압축/설치파일 폴더를 만들어서
자동으로 옮겨주는 파이썬 스크립트를 만들어줘.
같은 이름 파일이 이미 있으면 덮어쓰지 말고 뒤에 번호를 붙여줘.

잠시 뒤 파일이 만들어지고, 내용은 대략 이런 모양이 됩니다.

import shutil
from pathlib import Path

TARGET = Path.home() / "Downloads"

CATEGORIES = {
    "이미지": [".jpg", ".jpeg", ".png", ".gif", ".webp"],
    "문서": [".pdf", ".docx", ".xlsx", ".pptx", ".txt"],
    "압축": [".zip", ".7z", ".rar"],
    "설치파일": [".exe", ".msi", ".dmg"],
}


def find_category(suffix):
    for name, extensions in CATEGORIES.items():
        if suffix.lower() in extensions:
            return name
    return "기타"


def main():
    moved = 0
    # list()로 감싸는 이유: 반복 도중에 폴더가 새로 생기므로
    for item in list(TARGET.iterdir()):
        if not item.is_file():
            continue

        folder = TARGET / find_category(item.suffix)
        folder.mkdir(exist_ok=True)

        destination = folder / item.name
        count = 1
        while destination.exists():
            destination = folder / f"{item.stem}_{count}{item.suffix}"
            count += 1

        shutil.move(str(item), str(destination))
        moved += 1

    print(f"{moved}개 파일을 정리했습니다.")


if __name__ == "__main__":
    main()

중요한 건 이 코드를 여러분이 이해하지 못해도 된다는 게 아니라, 바로 실행해서 확인할 수 있다는 점입니다. “이거 실행해봐”라고 말하면 Claude Code가 직접 실행하고 결과를 보여줍니다. 오류가 나면 오류 메시지를 읽고 고친 뒤 다시 실행합니다.

실전 2: 만든 스크립트를 고쳐달라고 하기

파일을 옮기는 스크립트를 처음부터 진짜로 돌리는 건 위험합니다. 먼저 미리보기 기능을 넣어달라고 해봅시다.

실행하기 전에 뭐가 어디로 옮겨지는지 먼저 보고 싶어.
--dry-run 옵션을 추가해서, 그 옵션을 주면 실제로 옮기지 말고
"파일명 -> 폴더명" 형태로 출력만 하도록 고쳐줘.

이렇게 하면 python organize.py --dry-run으로 실제 이동 없이 결과만 확인할 수 있게 코드가 수정됩니다. 자동화 스크립트를 만들 때 이 순서를 지키면 사고가 거의 없습니다.

  1. 먼저 출력만 하는 버전으로 만들어 달라고 한다
  2. 출력 결과가 예상과 맞는지 눈으로 확인한다
  3. 그다음에 실제로 파일을 옮기거나 지우는 동작을 켠다
  4. 중요한 폴더에 적용하기 전, 테스트용 폴더에서 한 번 돌려본다

CLAUDE.md로 매번 같은 설명 반복하지 않기

쓰다 보면 “외부 패키지는 쓰지 마”, “주석은 한글로 써” 같은 말을 매번 반복하게 됩니다. 이럴 때 작업 폴더에 CLAUDE.md 파일을 만들어 두면, Claude Code가 대화를 시작할 때마다 이 파일을 읽고 규칙으로 삼습니다.

# 이 폴더의 작업 규칙

- 파이썬은 3.10 기준. 표준 라이브러리만 쓰고,
  외부 패키지가 필요하면 설치하기 전에 먼저 물어본다.
- 파일을 삭제하거나 이동하는 스크립트에는 반드시 --dry-run 옵션을 넣는다.
- print 문구와 주석은 한글로 쓴다.
- 완성한 스크립트는 scripts/ 폴더에 저장한다.

대화창에서 /init을 입력하면 현재 폴더를 훑어보고 CLAUDE.md 초안을 자동으로 만들어 줍니다. 거기에 위 같은 개인 규칙을 덧붙이는 방식이 편합니다.

입력역할
/init현재 폴더를 분석해 CLAUDE.md 초안 생성
/clear대화 내용 초기화. 주제가 바뀔 때 쓰면 정확도가 올라감
/help사용 가능한 명령 목록 보기
claude -p "..."대화창 없이 한 번만 실행 (헤드리스 모드)

헤드리스 모드로 다른 자동화에 끼워 넣기

마지막 줄의 -p 옵션이 특히 쓸모 있습니다. 대화창을 띄우지 않고 지시 한 줄을 처리한 뒤 종료하기 때문에, 배치 파일이나 윈도우 작업 스케줄러 안에 그대로 넣을 수 있습니다.

# 대화창을 띄우지 않고 한 번만 시켜서 결과를 받는다
claude -p "logs 폴더에서 30일이 지난 .log 파일을 찾아 목록만 출력하는 스크립트를 만들어줘"

# 작업 스케줄러나 다른 배치 파일 안에서도 그대로 쓸 수 있다
claude -p "오늘 수정된 파일 목록을 정리해서 report.md로 저장해줘"
Claude Code 헤드리스 모드 옵션 실제 출력
실제 설치본에서 확인한 옵션입니다. -p 와 –allowedTools 조합이 자동화에 끼워 넣을 때의 핵심입니다.

예전 글에서 다룬 작업 스케줄러 등록과 조합하면, 매일 아침 정해진 시각에 Claude Code가 폴더를 점검하고 보고서를 남기게 만들 수도 있습니다.

주의할 점

  • 파일을 지우는 작업은 특히 조심해야 합니다. 삭제 대신 _trash 폴더로 옮기도록 요청하세요. 잘못 지운 파일은 휴지통을 거치지 않고 사라질 수 있습니다.
  • 회사 자료가 든 폴더에서 함부로 실행하지 마세요. 현재 폴더의 파일을 읽어서 처리하는 구조라, 사내 보안 정책상 외부 전송이 금지된 자료가 있다면 먼저 확인이 필요합니다.
  • 결과를 그대로 믿지 말고 한 번은 직접 확인하세요. 특히 정규식이나 날짜 계산은 실수가 나기 쉬운 영역입니다. 테스트용 폴더에 파일 몇 개를 복사해 두고 돌려보는 습관을 들이면 좋습니다.
  • 대화가 길어지면 /clear로 끊으세요. 앞선 대화가 계속 쌓이면 엉뚱한 맥락을 끌어와 이상한 코드를 만들 때가 있습니다.

마무리

처음부터 거창한 걸 만들려고 하면 오히려 시작이 어렵습니다. 오늘은 빈 폴더를 하나 만들고, 그 안에서 claude를 실행한 뒤 “이 폴더 안 파일 목록을 크기순으로 출력하는 파이썬 스크립트를 만들어줘”처럼 아주 작은 것부터 시켜보세요. 10분이면 충분하고, 그 감각을 잡고 나면 평소 미뤄뒀던 반복 작업들이 하나씩 눈에 들어옵니다.

다음 글에서는 이렇게 만든 파이썬 스크립트를 여러 개 돌릴 때 꼭 필요한 윈도우 가상환경(venv) 설정을 처음부터 정리해 보겠습니다. 패키지가 서로 충돌해서 멀쩡하던 스크립트가 갑자기 안 돌아가는 상황을 막는 방법입니다.

댓글 남기기