cmd 창 안꺼지게 하는 방법: 실행 후 유지하기

링크가 복사되었습니다
조회 1

명령 프롬프트(cmd) 창이 실행 후 바로 닫혀버리는 경우, 특히 스크립트 실행 시 결과 확인이 어려워 답답함을 느낄 수 있습니다. cmd 창이 저절로 닫히는 것을 방지하고 실행 결과를 확인하는 몇 가지 간단한 방법을 알아보겠습니다. 이 방법들을 통해 cmd 창을 원하는 만큼 열어두고 작업할 수 있습니다.

cmd 창 닫힘 방지 기본 원리

cmd 창이 바로 닫히는 주된 이유는 실행하려는 명령이나 스크립트가 완료되자마자 창이 종료되기 때문입니다. 예를 들어, 단순한 echo 명령이나 특정 프로그램을 실행하는 배치 파일(.bat)이 실행 완료 후 자체적으로 종료되도록 설계된 경우 발생합니다. 이를 방지하기 위해서는 명령 실행 후에도 창이 유지되도록 하는 추가적인 명령을 사용해야 합니다.

1. pause 명령 활용하기

가장 일반적이고 간단한 방법은 배치 파일(.bat)의 마지막에 pause 명령어를 추가하는 것입니다. pause 명령어는 "계속하려면 아무 키나 누르십시오..."라는 메시지를 표시하며 사용자의 입력을 기다립니다. 사용자가 키를 누르기 전까지는 cmd 창이 닫히지 않고 유지됩니다. 따라서 배치 파일 스크립트 마지막에 pause를 추가하면 실행 결과를 충분히 확인할 수 있습니다.

예시 배치 파일 (test.bat):

echo 안녕하세요.
cd C:\
dir
pause

위와 같이 작성하면 dir 명령의 결과가 출력된 후, 사용자가 키를 누를 때까지 창이 열려 있게 됩니다.

2. cmd /k 옵션 사용하기

cmd /k 옵션은 cmd 창을 실행할 때 사용하며, 지정된 명령을 실행한 후에도 cmd 창을 닫지 않고 유지하도록 합니다. 이는 주로 특정 명령을 실행하고 그 결과를 바로 확인하고 싶을 때 유용합니다. 예를 들어, 특정 경로로 이동한 후 명령을 실행하고 싶을 때 활용할 수 있습니다.

실행 방법:

  • 실행 창 (Win + R) 이용: cmd /k cd C:\Users\YourUsername 와 같이 입력하여 실행하면, 해당 경로로 이동한 cmd 창이 열린 상태로 유지됩니다. 여기서 추가 명령을 입력하고 실행할 수 있습니다.
  • 바로가기 아이콘 수정: cmd 바로가기 아이콘의 속성에서 '대상(Target)' 필드에 cmd.exe /k 를 추가하여 C:\Windows\System32\cmd.exe /k 와 같이 수정하면, 해당 바로가기를 클릭할 때마다 cmd 창이 열린 상태로 유지됩니다.

이 방법은 스크립트 파일(.bat)이 아닌, 개별 명령을 실행할 때 더 효과적입니다.

3. cmd /cpause 조합 (주의 필요)

cmd /c 옵션은 지정된 명령을 실행한 후 cmd 창을 닫는 옵션입니다. 따라서 cmd /c 만으로는 창을 열어둘 수 없습니다. 하지만 cmd /c 를 사용하여 배치 파일을 실행하되, 해당 배치 파일 안에 pause 명령어가 포함되어 있다면 결과적으로 창이 닫히지 않고 유지됩니다. 이는 위에서 설명한 pause 명령 활용법과 동일한 원리입니다.

예시: cmd /c start /wait your_script.bat 와 같이 사용하면 your_script.bat 실행이 완료될 때까지 기다리지만, your_script.bat 자체에서 pause를 사용하지 않으면 바로 닫힙니다. 따라서 cmd /c 를 사용할 때는 실행하는 스크립트 내 pause 사용 여부가 중요합니다.

4. GUI 프로그램 실행 시 주의사항

일부 GUI 프로그램은 실행 시 별도의 콘솔 창을 생성하지 않거나, 작업 완료 후 콘솔 창을 자동으로 닫도록 설계되어 있습니다. 이러한 프로그램의 경우, 위에서 설명한 pausecmd /k 와 같은 cmd 명령어만으로는 콘솔 창을 강제로 유지하기 어려울 수 있습니다. 프로그램 자체의 설정을 확인하거나, 해당 프로그램을 실행하는 스크립트 내에서 별도의 로깅(logging) 기능을 활용하는 것이 더 적합할 수 있습니다.

결론

cmd 창이 실행 후 바로 닫히는 문제를 해결하고 싶다면, 가장 간단하고 효과적인 방법은 배치 파일(.bat) 끝에 pause 명령어를 추가하는 것입니다. 또한, 특정 명령 실행 후 창을 열어두고 싶다면 cmd /k 옵션을 활용하는 것이 좋습니다. 이러한 방법들을 통해 cmd 창을 보다 유연하게 사용하고, 실행 결과를 놓치지 않고 확인할 수 있습니다.

이 글이 도움이 되셨나요?← 홈으로