[업무자동화] batch기능으로 하는 자동화
0. 시작하며
지난 게시물에서 자주 출력하는 pdf파일을 쉽게 출력하는 방법을 알아봤다. 아크로뱃을 실행하는 명령을 포함한 bat파일을 바탕화면에 만들고 바탕화면에서 더블클릭으로 batch파일을 실행시키는 방법을 소개했다. 바탕화면을 띄우는 윈도우키+D 단축키를 이용하면 쉽게 바탕화면화면으로 접근할 수 있어서 언제든지 간단하게 쓸 수 있는 방법이다.
이번에는 파일탐색기를 이용하는 방법을 알아보겠다. 우리는 작업할 때 어떤 파일을 특정 폴더에 복사하고 그 파일에 대해서 작업하는 경우가 많다. 파일탐색기를 폴더를 옮겨다니고 복사하고 삭제하는 등의 파일 관리용으로 쓰고 있지만 이번 글에서는 좀 다른 기능을 소개하고자 한다.
1. 파일탐색기 주소창의 재발견
1) 디렉토리 이동
우리는 파일탐색기의 주소창은 사용자가 옮겨다니는 위치를 표시해주는 것으로 생각하고 있지만 실제로 파일탐색기의 주소창에 직접 뭔가를 입력할 수 가 있다.
예를 들어 아래 그림처럼 현재 d:\ 위치에 있다고 하자.
여기서 원하는 곳으로 가고 싶다면 마우스로 여러번 클릭하지 않고 직접 주소창에 타이핑을 하면 된다. 예를 들어 c:\program files\로 가고 싶다면 주소창에다 c:\pro까지만 입력해도 pro로 시작하는 디렉토리 이름들이 뜬다.
화살표키를 이용해서 c:\program files를 선택하고 엔터를 치면 해당 디렉토리로 바로 이동할 수 있다.
참고로 파일탐색기가 떠 있을 때 주소창으로 이동하는 단축키는 Alt-D다. 마우스를 건드릴 필요 없이 Alt-D를 눌러서 주소창으로 이동하고 거기에다 직접 이동하고 싶은 디렉토리 이름을 입력하면 된다. 앞의 예에서 처럼 몇글자만 치면 그에 해당하는 디렉토리들이 보여지기 때문에 몇번의 타이핑 만으로 쉽게 이동할 수 있다.
예를 들어 아래 그림과 같이 D드라이브에 프로젝트라는 디렉토리 밑에 2023년과 2024년 디렉토리가 있고 2024년 디렉토리 아래 프로젝트A~D까지의 디렉토리가 있다고 하자.
내가 현재 C:\program files\아래에 와 있다면 Alt-D를 눌러 주소창으로 이동한 다음 d:\프로젝트\를 입력해보자. 마지막에 \를 입력하면 해당 디렉토리의 하부 디렉토리까지 보여준다.
2024년을 선택하고 \까지 입력해주면 2024년 하부 디렉토리까지 볼 수 있다. 원하는 하부디렉토리를 선택하고 엔터키를 치면 원하는 디렉토리로 바로 이동할 수 있다.
2) 명령 실행
○ cmd명령
파일탐색기 주소창에서 몇가지 명령을 내릴 수 있다. 지난번 게시물을 읽은 분들은 눈치 챘을 것이다. cmd가 생각보다 강력하다는 것을… 사실 윈도우 운영체계의 바탕이 되는 것일지도 모른다. 이제부터 cmd와 친해져야 한다. 사실 코딩하는 사람들은 cmd와 친하다.
주소창에서 cmd라고 쳐보자. 그러면 cmd가 실행되면서 현재 파일탐색기 위치로 이동 되어있다.
아래 그림처럼 프로젝트A 디렉토리에서 주소창에 cmd라고 입력하고 엔터를 치면 cmd창이 뜨는데 현재 위치로 이동되어 있다.
이 방법을 쓰지 않고 윈도우 검색 아이콘이나 윈도우+S키를 이용해서 cmd를 실행하면 사용자 디렉토리가 뜬다. 따라서 파일탐색기로 원하는 디렉토리에 와 있다면 주조창에다 직접 cmd를 입력하면 디렉토리를 이동할 필요 없이 편하다.
○ notepad명령
주소창에서 실행할 수 있는 몇가지 명령들에 대해서 소개하고자 한다. 어떤 명령은 되고 어떤 명령은 안되는 것 같은데 이유는 잘 모르겠다. 일단 notepad(메모장)은 잘 된다. notepad++도 잘 되는 것을 확인했다.
위의 그림처럼 주소창에서 파일이름까지 줄 수 있다. 파일이름이 현재 디렉토리에 없는 파일이라면 아래 그림처럼 새로 만들 것인지를 물어본다. 새로 만들고 싶으면 예를 선택하면 된다. 새로운 텍스트 파일을 만들 때 유용하다.
당연히 디렉토리에 있는 파일이름이면 해당 파일이 열린다.
○ 주소창에서 실행가능한 프로그램들 테스트 결과
hwp : 안된다.
autocad : 안된다.
excel : 실행은 된다. 하지만 파일이름을 입력할 수 없다.
control panel : control panel을 실행한다.
ms-settings: : 윈도우 설정을 실행한다.(마지막에 :포함해야 함)
2. batch파일 만들기
batch파일을 만드는데 왜 주소창 설명을 이렇게 길게 하는거야? 라고 생각할 수 있다. 하지만 주소창은 batch파일을 실행하는 중요한 요소다. 주소창에서 batch파일을 실행할 수 있기 때문이다. 주소창의 장점은 현재 들어와 있는 디렉토리에서 batch파일을 실행시킬 수 있기 때문에 다양한 작업들을 자동화 할 수 있다.
지난번 pdf출력 batch파일은 바탕화면에 있었다. 특정 디렉토리 안에 있는 pdf파일을 출력하는 기능이기 때문에 이 배치파일이 어디에 있어도 상관 없다. 그런데 D:\프로젝트\2024년\프로젝트A 디렉토리에 어떤 파일을 복사하고 그 파일을 편집하도록 하는 자동화를 구현하고 싶다면 당연이 해당 디렉토리를 알려줘야 할 것이다. 그래서 파일관리자를 이용하는 것이다.
1) batch파일 모아 놓은 디렉토리 만들기
지난번 pdf파일 자동 출력하는 bat파일 만들 때 abrobat 실행파일이 있는 디렉토리이름까지 포함해서 입력했던 것을 기억할 것이다. 아래와 같이 말이다.
C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe |
cmd상태에서는 특정 디렉토리에 있는 실행파일이나 bat파일을 모두 실행할 수 있다. 위와 같이 디렉토리 이름을 같이 주면 말이다. 하지만 디렉토리 이름을 일일이 기억하기도 힘들지 않나. 그래서 bat파일을 한군데 모아 놓고 그 디렉토리를 path를 걸 것이다. path를 건다는 것은 것은 특정 디렉토리에 있는 실행파일이나 bat파일을 어디에서든 실행할 수 있게 되는 것이다.
bat파일을 모아 놓을 디렉토리를 하나 만들자 필자는 c:\bat이라고 만들었다. path 거는 방법은 뒤에서 알아보도록 하자.
2) bat파일 만들기
견적서를 d:\우리회사\양식 디렉토리에 있는 견적서.hwp을 현재 디렉토리로 복사해오고 hwp를 실행시켜주는 기능을 가진 bat파일을 만들 것이다.
파일탐색기로 c:\bat 디렉토리로 이동해서 명령창에다 notepad 견적서.bat이라고 입력하고 엔터를 쳐보자. ‘견적서’가 명령어가 되는 것이다.
견적서.bat파일이 열리면 아래와 같이 복사명령과 견적서.hwp파일의 경로명과 파일 이름을 적어준다. d:\우리회사\양식\견적서.hwp 파일을 현재 디렉토리로 복사해오라는 명령이다. 저장을 한다. 인코딩을 ANSI로 저장하는 것을 잊지 말자.
copy d:\우리회사\양식\견적서.hwp |
3) bat파일 테스트
테스트를 해보자. 현재 파일탐색기는 c:\bat 디렉토리에 와 있다. 주소창에 견적서라고 입력하고 엔터키를 쳐보자. 잠깐 cmd 창이 떴다가 없어지는 것을 볼 수 있을 것이다. 그리고 견적서 파일이 복사되어 있는 것을 볼 수 있을 것이다. d:\우리회사\양식 디렉토리에 있는 견적서.hwp파일이 현재 디렉토리인 c:\bat 디렉토리로 복사된 것이다.
4) 다른 디렉토리에서 실행해보기
자 이제 d:\프로젝트\2024년\프로젝트A 디렉토리에서 실행해보자. 탐색기로 프로젝트A 디렉토리로 이동을 하고 주소창에 견적서를 입력하면 견적서가 프로젝트A 디렉토리로 복사되어야 하는데 그렇지 않다. 프로젝트A 디렉토리에서 주소창에 견적서를 입력하고 엔터를 치면 웹브라우저로 넘어간다. 그리고 견적서/ 라는 사이트는 찾을 수 없다고 나온다. c:\bit 디렉토리에서 잘 실행되던 명령이 프로젝트A에서는 실행되지 않는 이유는 뭘까? 견적서.bat파일이 있던 c:\bit에서는 견적서.bat파일을 찾아서 실행했지만 프로젝트A 디렉토리에는 견적서.bat이 없기 때문에 실행이 되지 않은 것이다. 다른 디렉토리에 있는 bat파일을 실행시키려면 path를 걸어주면 된다. 다음 절에서 path 걸어주는 방법을 알아보자.
3. bat 디렉토리 path걸기
1) path걸기
c:\bat 디렉토리를 path를 걸 차례다. 윈도우키를 누른 후 설정을 입력해서 설정을 띄운다. 그 다음에 시스템을 선택한다.
. 시스템을 열어서 오른쪽 영역을 보면 매 아래쪽에 ‘정보’가 있다. 정보를 연다.
정보를 열면 ‘고급시스템설정’이 있다. 이것을 연다.
환경변수를 클릭한다.
환경변수를 누르면 아래와 같은 창이 뜬다.
현재 사용자인 ysj에 대한 사용자 변수와 시스템변수가 있는데 사용자 ysj에만 적용하려면 위쪽 path를 수정하고 모든 사용자에게 적용된다. 사용자변수를 수정하겠다. path항목을 선택하고 편집을 선택한다.
새로만들기를 클릭하면 매 아래에 새로운 디렉토리를 입력할 수 있는 줄이 새로 생긴다 여기다 c:\bat\을 입력해준다.
이제 어디에서든 c:\bat\에 있는실행파일과 bat파일을 실행시킬 수 있게 되었다. 원리는 이렇다. 사용자가 어떤 실행파일을 실행시키라고 명령을 내리면 우선 해당 디렉토리에서부터 찾는 다 없으면 path에 정의된 디렉토리들을 순한하면서 찾아본다. path디렉토리에서 발견되면 실행시키고 없으면 웹페이지로 인식하고 브라우저에서 접속을 시도한다.
2) 실행 테스트
이제 d:\프로젝트\2024년\프로젝트A 디렉토리에서 견적서를 입력하면 견적서가 복사되는 것을 볼 수 있을 것이다.
4. 복사한 파일 편집하기
복사는 쉽게 했다. 편집까지 할 수 있으면 편하지 않을까? 견적서.bat파일에 한글을 실행시키는 명령까지 넣으면 될 것 같다. 아래와 같이 한글을 실행하는 한 줄을 추가했다.
hwp 견적서.hwp |
저장을 하고 실행해보면 복사는 잘 되는데 한글이 실행되지 않는다. cmd창이 순식간에 떴다가 사라진다. 이런 경우 pause명령을 내리면 사용자가 엔터를 치기 전까지 멈춘다. 어떤 메시지가 떴는지 확인할 때 많이 쓴다.
아래와 같이 pause명령을 추가한다. 그리고 실행해보면 cmd창이 사라지지 않고 멈춰있다. 에러 메시지를 확인해보면 hwp가 명령이 명령도 아니고 실행파일도 아니라는 것이다.
hwp.exe가 현재 디렉토리에 있지도 않고 path에 걸려있지도 않다는 뜻이다. 이런 경우 지난번 게시물에서 acrobat.exe의 경로포함한 파일명을 입력해준 것처럼 해주면 된다. hwp.exe파일의 위치를 파악해서 경로명을 포함하여 hwp.exe파일명을 써주면 된다.
윈도우키 → hwp → 파일위치열기 → 마우스 오른쪽 버튼 → 속성 → 대상에 폴더명을 포함한 파일명이 나와 있다. 그걸 견적서.bat파일에 넣어주면 된다.
필자의 경우 c:\HNC\hwp70\hwp.exe이다. 한글 버전에 따라 디렉토리 이름이 다를 수 있다는 것에 주의하자. 그리고 안전하게 “(쌍따옴표)로 감싸주는 것이 좋다. 디렉토리 이름이나 파일 이름에 공백이 있는 경우 오작동할 수 있으므로 안전하게 쌍따옴표로 감싸주는 것이 좋다.
copy "d:\우리회사\양식\견적서.hwp" "C:\HNC\Hwp70\Hwp.exe" "견적서.hwp" |
5. 응용해보자.
이쯤 되면 아마 독자들은 여러가지 응용을 할 수 있을 것 같다는 생각을 해봤을 것이다. 만일 견적서가 hwp가 아니라 엑셀이라면 엑셀 실행파일의 위치를 파악해서 hwp.exe대신 excel.exe을 적어주면 되는 것이다. batch파일 명령은 단순히 복사하고 실행하는 기능 뿐만 아니라 다양한 기능들이 있다. 배치 기능을 더 확장하고자 한다면 검색을 통해서 공부해보자.
이상 DOS로 컴퓨터를 배운 라떼 엔지니어였다. ^^
-끝-