유용하게 활용 가능한 배치 파일 만들기
성은기 책임
유용하게 활용 가능한 배치 파일 만들기
처음 블로그에 글을 적는 내용이라 어떤 부분을 적을지 고민이 많았습니다.
얕은 깊이의 내용이면서도 유용할 수 있는 배치 파일
(Batch File)을 이야기해볼까 합니다.
나이가 조금 있으신 분들에게 익숙한 확장자 bat
는 MS-DOS, 윈도우 등에서 명령 프롬프트
에서 적는 명령어를 파일로 만들어서 사용하는 것입니다.
프로그램을 실행할 때 인자를 넣어야 하는 경우 exe
파일과 인자를 포함한 bat
파일을 만들어서 사용하기도 했습니다. (지금은 바로가기 파일을 만들어 인자를 미리 입력해 두는 것이 더 간단한 방법이겠습니다.)
사실 명령 프롬프트
란 대부분의 윈도우 사용자에게 ‘자신의 ip 확인할 때’, ‘ping 사용할 때’ 등 거의 쓸 일이 없는 존재입니다만 가끔 정말 유용하게 사용될 때가 있습니다.
배치 파일 만드는 방법
- 메모장을 실행합니다.
- 실행하고자 하는 내용을 적습니다.
echo
는 출력(printf),pause
는 일시정지(wait)로 보시면 되겠습니다. - 다른 이름으로 저장합니다.
메모장은 기본 형식이txt
파일로 저장되기 때문에 모든 파일을 선택하고 저장하고자 하는 파일 이름에.bat
를 붙여서 저장합니다.
- 저장된 파일을 실행합니다.
앞서 작성된 명령어대로 실행됩니다.echo
뒤에 적혀 있는 ‘헬로우 월드’가 화면에 출력되었고pause
명령어가 실행되어서cmd.exe
가 종료되지 않고 대기하고 있습니다.
배치 파일 활용법!
배치 파일 만들기는 위 내용으로 종료되었습니다. 정말 간단하게 만들 수 있습니다. 이렇게 만들어진 배치파일로 cmd
창에 존재하는 모든 명령어 등을 사용하여 정말 다양하게 활용할 수 있습니다.
절전 모드 실행
비공대생이면서 IoT 제품의 얼리아답터인 대학 선배와 술을 마시는데 클릭 한 번으로 절전 모드가 되면 좋겠다는 말씀을 하시더라고요.
시작 > 전원 > 절전
이 너무 번거롭답니다.
저는 번거롭지 않았지만 필요하시다니까 간단하게 절전 모드 명령어를 배치 파일로 만들어 작업표시줄에 등록해서 클릭하면 절전 모드가 된다고 했더니~
만들어 달라고 하시네요!
- 절전 모드
cmd
명령어를 검색합니다.%windir%\System32\rundll32.exe powrprof.dll SetSuspendState
- 위와 마찬가지로 배치 파일을 만듭니다.
- 만든 파일은 따로 두고, 바로 가기를 만들어 작업표시줄에 등록합니다.
프로그램 종료 방지
항상 실행되어야 하는 프로그램이 있는데 프로그램이 자의로든 타의로든 종료가 발생할 경우! 곤란합니다.
와치독 개념으로 프로그램 상태를 주기적으로 확인하는 프로그램을 트레이 아이콘
으로 만들어서 관리하는 것이 제일 좋겠습니다만, 현장에서 급하게 위의 프로그램이 준비가 되지 않았거나 ‘나는 개발자가 아닌데 어떻게 이런 걸 하겠냐’는 생각이 드는 분도 계실 겁니다.
간단하게 배치 파일을 만들어 종료를 방지할 수 있습니다. 이전과 같은 방식으로 아래 소스를 bat
파일로 저장합니다.
:START
프로그램명.exe
@GOTO START
배치 파일이 실행되면 프로그램이 실행됩니다. 프로그램이 종료되면 다시 START
지점으로 가서(GOTO
) 프로그램을 실행합니다. 프로그램명 부분은 실제 프로그램의 경로가 포함되어야 합니다. 프로그램이 있는 경로를 넣기 부담스러우면 프로그램이 있는 폴더에 배치 파일을 저장하면 됩니다.
그리고 시작프로그램 shell:startup
폴더에 바로 가기를 저장합니다. 윈도우가 시작될 때 해당 프로그램이 바로 실행 되고, 혹시 종료되더라도 재실행시키는 기능을 저 짧은 소스로 구현해봤습니다!
기타 활용
-
특정 시간(30분) 후 윈도우를 자동 종료
shutdown -s -t -f 1800
예) 게임 이벤트로 2시간 동안 접속해 있어야 하는데 아직 30분이나 남았고 지금 자리를 비워야만 할 때!
-
특정 프로그램 종료
taskkill /f /im notepad.exe
예) 게임을 실행할 때마다 마음에 안 드는 이상한 프로그램이 같이 실행 될 때
-
특정 와이파이 연결
netsh wlan connect name="wifi명" ssid="wifi명"
예) 사무실 내 와이파이가 너무 많아 원하는 SSID를 찾기 어려울 때
사실 위의 간단한 경우들과는 다르게 배치 파일에 활용 가능한 수~많은 명령어들이 있습니다. 비개발자라 하더라도 윈도우 사용자라면 위와 같이 간단한 명령어를 활용하여 유용한 기능들을 구현할 수 있습니다!
읽어주셔서 감사합니다.