Windows에서 배치 스크립트를 작성하는 방법
명령 프롬프트를 사용하는 방법을 알고 있습니까? 그렇게하면 배치 파일을 작성할 수 있습니다. 가장 간단한 형태의 배치 파일 (또는 배치 스크립트)은 파일을 두 번 클릭 할 때 실행되는 여러 명령 목록입니다. 배치 파일은 DOS로 돌아가지만 최신 버전의 Windows에서 여전히 작동합니다.
PowerShell 스크립트 및 Bash 스크립트가 더 강력 할 수 있지만 기본 Windows 명령을 실행해야하는 경우 배치 파일이 여전히 유용 할 수 있습니다.
배치 파일 기본 사항
배치 파일은 단순히 .bat 파일 확장자로 저장된 텍스트 파일입니다. 메모장이나 Notepad ++와 같은 고급 텍스트 편집기를 사용하여 작성할 수 있지만 Microsoft Word와 같은 워드 프로세서는 사용하지 마십시오.
간단한 배치 파일을 만들어 보겠습니다. 먼저 메모장을 엽니 다. 다음 줄을 입력하십시오.
ECHO OFF ECHO Hello World PAUSE
다음으로 파일> 저장을 클릭하여 파일을 저장하십시오. 원하는 이름을 지정하되 기본 .txt 파일 확장자를 .bat 확장자로 바꿉니다.
예를 들어, 이름을 hello_world.bat
.
이제 파일 확장자가 .bat 인 배치 파일이 있습니다. 실행하려면 두 번 클릭하십시오. 이 특정 배치 파일은 ECHO를 해제합니다 (명령이 프롬프트에서 인쇄되지 않도록 숨겨 출력을 정리하고 화면에 "Hello World"텍스트를 인쇄 한 다음 종료하기 전에 키를 누를 때까지 기다립니다).
PAUSE
파일에 추가하지 않은 경우 배치 파일은 단순히 명령을 실행 한 다음 자동으로 닫힙니다. 이 경우 창에 "Hello World"를 인쇄 한 다음 즉시 명령 프롬프트 창을 닫습니다. 출력을 보지 않고 빠르게 명령을 실행하려면 이것을 생략 할 수 있습니다. 여러 명령을 실행하는 경우 PAUSE
명령을 그 사이에 배치 할 수 있습니다.
더 복잡한 배치 파일 작성
배치 파일을 만드는 것은 근본적으로 간단합니다. 변경해야하는 유일한 것은 메모장에 입력하는 내용입니다. 여러 명령을 실행하려면 각 명령을 한 줄에 입력하면 배치 파일이 각 명령을 순서대로 실행합니다.
예를 들어 여러 네트워크 진단 명령을 실행하는 배치 파일을 작성한다고 가정 해 보겠습니다. 우리는 실행할 수 있습니다 ipconfig /all
, 네트워크 정보를 보려면 ping google.com
Google 서버가 응답되어 있는지, 그리고 tracert google.com
google.com에 대한 경로 추적을 실행하고 방법에 문제가 있는지 확인합니다.
가장 기본적인 형태에서는 다음과 같이 모든 명령을 배치 파일에 차례로 배치 할 수 있습니다.
ipconfig / all ping google.com tracert google.com PAUSE
이 파일을 실행하면 각 명령의 출력이 차례로 표시됩니다. 그러나 이것이 배치 파일을 작성하는 이상적인 방법은 아닙니다.
예를 들어, 주석 행을 추가 할 수 있습니다. 로 시작하는 ::
줄은 주석 줄이며 실행되지 않습니다. 이를 통해 파일에서 무슨 일이 일어나고 있는지 설명 할 수있는 유용한 방법이 될 수 있습니다. 누군가에게 파일을 제공 할 수도 있고, 특정 명령을 입력 한 이유를 잊을 수도있는 미래의 자신을 위해.
파일 시작 부분에 "ECHO OFF"명령을 추가 할 수도 있습니다. 일반적으로 대부분의 배치 파일 시작 부분에 추가됩니다. 이렇게하면 명령 자체는 명령 프롬프트에 인쇄되지 않지만 결과는 그대로 표시됩니다. 예를 들어 네트워크 연결 세부 정보는 표시되지만 "ipconfig / all"행은 표시되지 않습니다. 대부분의 사람들은 명령을 보는 데 관심이 없으므로 출력을 정리할 수 있습니다.
따라서 다음과 같이 보일 수 있습니다.
::이 배치 파일은 네트워크 연결 문제를 확인합니다. 에코 끄기 :: 네트워크 연결 세부 정보보기 ipconfig / all :: Google.com에 연결할 수 있는지 확인 ping google.com :: traceroute를 실행하여 Google.com 경로 확인 tracert google.com PAUSE
이와 같은 배치 파일로 갈 수있는 다른 방향이 있습니다. 예를 들어 배치 스크립트가 위의 명령을 실행 한 다음 나중에 볼 수있는 텍스트 파일로 출력을 덤프하도록 할 수 있습니다. 이렇게하려면 >>
각 명령 뒤에 연산자를 사용하여 출력을 텍스트 파일에 추가합니다. 어쨌든 텍스트 파일에서 출력을 읽을 것이므로 PAUSE
명령을 생략 할 수 있습니다 .
::이 배치 파일은 네트워크 연결 문제를 확인하고 :: 출력을 .txt 파일에 저장합니다. 에코 끄기 :: 네트워크 연결 세부 정보보기 ipconfig / all >> results.txt :: Google.com에 연결할 수 있는지 확인 ping google.com >> results.txt :: traceroute를 실행하여 Google.com tracert google에 대한 경로를 확인합니다. com >> results.txt
위의 스크립트를 실행 한 후 명령 출력이있는 배치 파일과 동일한 폴더에서 results.txt라는 파일을 찾을 수 있습니다. 배치 파일 실행이 완료되면 명령 프롬프트 창이 자동으로 닫힙니다.
위에서 사용한 예제는 사용자가 읽을 수 있도록 명령 프롬프트에 정보를 실제로 인쇄하는 것에 의존합니다. 그러나 많은 배치 파일은 비대화 형으로 실행되도록 설계되었습니다. 예를 들어, 두 번 클릭 할 때마다 여러 파일 또는 디렉토리를 삭제하는 배치 파일이있을 수 있습니다. del
명령 을 사용하여 파일을 삭제하거나 명령 을 사용하여 deltree
디렉토리를 삭제 하면 됩니다. 명령 프롬프트 창에서 실행 한 것과 동일한 명령을 사용하고 있다는 것을 기억하십시오.
기본적으로 이것이 대부분의 배치 파일의 요점입니다. 몇 가지 명령을 차례로 실행하기 만하면됩니다. 그러나 배치 파일은 실제로 이보다 훨씬 더 복잡 할 수 있습니다. 예를 들어 "GOTO"명령과 함께 "IF"문을 사용하여 무언가의 값을 확인한 다음 결과에 따라 다른 줄로 건너 뛸 수 있습니다. 이것은 빠르고 더러운 스크립트보다 실제 작은 프로그램을 작성하는 것과 비슷합니다. 이것이 .bat 파일을 "배치 프로그램"이라고하는 이유 중 하나입니다. 좀 더 복잡한 작업을하고 싶다면 온라인에서 일괄 프로그래밍으로 특정 작업을 수행하는 방법에 대한 많은 가이드를 찾을 수 있습니다. 그러나 이제 당신은 간단한 것을 함께 던지는 방법의 기본을 알았습니다.