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.comGoogle 서버가 응답되어 있는지, 그리고 tracert google.comgoogle.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 파일을 "배치 프로그램"이라고하는 이유 중 하나입니다. 좀 더 복잡한 작업을하고 싶다면 온라인에서 일괄 프로그래밍으로 특정 작업을 수행하는 방법에 대한 많은 가이드를 찾을 수 있습니다. 그러나 이제 당신은 간단한 것을 함께 던지는 방법의 기본을 알았습니다.