까만 화면에 흰 글씨만 가지고 컴퓨터를 사용해야 했던 도스 시대가 있었습니다.
어느 날 윈도우가 혜성처럼 나타나 GUI를 제공하기 시작하면서
바야흐로 마우스를 딸깍대기만 하면 대부분의 작업을 수행할 수 있는 새로운 시대가 열리게 되었죠.
GUI는 일반 사용자들에게 다양한 편의를 제공하지만
전문적인 작업을 할 때는 오히려 CLI가 편하다고 느껴질 때가 많습니다.
특히, 쉘 스크립트를 작성해서 실행하기만 하면 여러 가지 명령어가 한 번에 실행되도록 자동화할 수 있다는 점이 매우 편리합니다.
윈도우에서도 파일 하나로 미리 준비된 명령들을 실행시킬 수 있는 방법이 있습니다.
바로 명령어를 순차적으로 실행할 수 있는 스크립트 파일, 배치 (*.bat) 입니다.
배치 파일을 만드는 방법
은 간단합니다. 메모장을 열어 명령어를 입력한 다음, 확장자를 bat로 바꿔주시기만 하면 됩니다.
그럼 제가 만든 배치 파일을 하나 뜯어보겠습니다.
저희 회사에서는 매일 수행한 업무 내역을 작성하도록 하고 있습니다.
일일이 손으로 쓰는 것이 귀찮아서 git log로 커밋 내역을 뽑아서 제출하게 되었는데
프로젝트가 많을 때는 프로젝트마다 일일이 들어가서 터미널을 열고 명령어를 입력하고 복사해서 붙여넣고 하는,
5분이면 끝날 작업이 너무 귀찮게 느껴져서
오늘 기록한 모든 커밋 내역을 한 번에 복사할 수 있도록 출력해주는 아래와 같은 배치 파일을 만들게 되었습니다.
::이것은 주석입니다
::앞으로 실행할 명령어가 화면에 표시되지 않도록 합니다
@echo off
::한글이 깨질 경우 코드 페이지를 변경하기 위해 아래 명령을 추가합니다
chcp 65001
::폴더 이동
cd /d "C:\Projects\myproject"
::출력
echo myproject 작업 내역
::깃 로그 조회, mybranch에 대해 자정 이후에 기록된 커밋을 제목만 출력
git log mybranch --since="midnight" --pretty=format:"%%s"
::%를 특수문자로 인식하기 때문에 %%로 escape 해주었습니다
::이하 반복
cd ...
echo ...
git log ...
cd ...
echo ...
git log ...
cd ...
echo ...
git log ...
:: 결과를 확인할 수 있도록 콘솔 창을 유지
pause
그냥 cmd에서 사용하는 명령어를 그대로 넣으면 된다고 생각하시면 됩니다. 물론 약간 문법의 차이는 있을 수 있습니다.
예를 들어, git log의 출력 형식을 지정할 때 제목은 %s로 표시하는데, 이걸 그대로 넣었더니 계속 오류가 나서 고생을 좀 하다가 앞에 %를 하나 더 붙여주는 것으로 해결할 수 있었습니다.
'ETC' 카테고리의 다른 글
API 개발의 동반자, Postman (0) | 2024.06.11 |
---|---|
Github Action을 이용한 개발 서버 자동 배포 (0) | 2024.06.04 |
블로그 글에 신뢰를 더하는 소제목 디자인 (0) | 2024.06.02 |
엑셀로 대량의 쿼리문 생성하기 (0) | 2024.05.30 |
로컬 개발 환경에서 오픈 그래프 테스트하기 (0) | 2024.01.11 |
댓글