완료시 명령 프롬프트 자동 닫기를 비활성화하는 방법은 무엇입니까?


18

이 작업을 수행하기 위해 이전 버전의 Windows에는 몇 가지 트릭이 있지만 Windows 7에서는 확실하지 않습니다.

스위치를 사용하여 명령을 실행하는 소프트웨어가 cmd.exe 창을 빠르게 열고 닫는 경우 작업이 완료되면 자동으로 닫히지 않도록 명령 프롬프트를 다시 구성하는 방법은 무엇입니까?

여기서 트릭은 실행중인 명령이 실제로 배치 파일이며 끝에 일시 중지 명령문이 포함되어 있지만 소프트웨어가 명령을 실행하려는 방식이 실패한다는 것입니다. 너무 빨리 닫히므로 너무 빨리 닫히면 어떤 오류가 반환되는지 알 수 없습니다.


좋은 질문, 조용히 때로는 게임 / 소프트웨어 패치가 명령을 실행 한 후 일시 중지하고 최종 사용자에게 표시하지 않고 명령을 실행 한 후 .BAT 파일로 제공되기 때문에 이것을 알고 싶습니다.
Boris_yo

1
왜 명령 창을 열고 해당 디렉토리로 cd 한 다음 배치를 실행합니까? 배치가 끝나면 열리지 않는 동일한 cmd 창에서 실행됩니다. 디버깅에 도움이되는 힌트가 될 수 있습니다.
jdh


고마워 slhck, 그 위치를 가리키는 당신은 내가 원하는 것을 달성 할 수있는 가장 가까운 가능성처럼 보입니다 .batfile / cmdfile의 레지스트리 내에 있습니다.
신화

답변:


8

.bat탐색기에서 직접 또는 다른 방법을 사용하여 해당 파일 을 실행하는 대신 수동으로 시작 cmd.exe(높은 권한으로 필요한 경우) 한 다음 .bat거기서 파일 을 실행하십시오 . 그런 다음 실행이 완료되면 오래된 DOS 시절과 마찬가지로 모든 출력을 볼 수 있습니다. :)


시작을 누르고 입력 한 다음 키 cmd를 누르면 enter명령 프롬프트가 시작됩니다. 실행해야 할 항목 (python 스크립트 또는 .exe)을 cmd 창으로 끌어서 놓기 만하면 enter됩니다.
JinSnow

6

.bat 파일에서 pause명령을 사용하십시오 . .bat 파일이 닫히지 않습니다.

예를 들어, 이것은 내 PC에서 MySQL 서비스를 시작하는 데 사용하는 박쥐 파일입니다.

net start MySQL
pause

참고 : Windows 7에서는이 .bat 파일을 관리자 이름으로 시작합니다. 이렇게하려면 .bat 파일에서 마우스 오른쪽 버튼을 클릭하고 드롭 다운 메뉴에서 "관리자 이름으로 시작"을 선택하십시오.



1

.bat 스크립팅에서는 스크립트 끝에 "종료"를 남겨두고 명령 창을 열어 둡니다.

스크립트에 의해 열린 명령 창은 스크립트에 의존하기 때문에 항상 스크립트 끝에서 자체적으로 닫힙니다. 창은 스크립트에 의존하지 않기 때문에 스크립트 끝에 "exit"명령을 지정하지 않으면 창을 직접 열고 스크립트를 실행해도 창이 닫히지 않습니다.

Windows 7에서 스크립트가 종료되면 스크립트 종속 창이 닫히는 것을 방지 할 수있는 방법이 나타나지 않지만 다른 곳에 오류 메시지가 기록 될 수 있습니다. 프로그램에 로그 파일이 있습니까? 아니면 Windows 로그에 항목이 있습니까?


0
pause>nul

이 작동합니다.


2
질문을주의 깊게 다시 읽으십시오. 귀하의 답변은 원래 질문에 대한 답변이 아닙니다 . "여기의 요령은 실행중인 명령이 실제로 배치 파일이고 마지막에 일시 정지 명령문을 포함한다는 것입니다. "
DavidPostill

0

를 누르고 start입력 한 다음 키 cmd를 누르면 enter명령 프롬프트가 시작됩니다. 실행해야 할 항목 (python 스크립트, .exe ...)을 cmd 창으로 끌어다 놓은 다음 Enter 키를 누릅니다. (cmd를 관리자 권한으로 실행 해야하는 경우 시작 메뉴에서 cmd를 찾아 마우스 오른쪽 단추로 클릭 run as admin하고을 선택하십시오 ) (Windows 7에서 작동)


여러 질문에 동일한 답변을 게시하지 마십시오. 동일한 정보가 실제로 두 질문에 모두 대답하는 경우 한 질문 (보통 새로운 질문)은 다른 질문과 중복하여 닫아야합니다. 다음과 같은 방법으로이를 표시 할 수 있습니다 중복으로 닫 투표 또는, 당신이 충분한 명성을하지 않은 경우, 플래그 인상 이 중복의 것을 나타냅니다. 그렇지 않으면이 질문에 대한 답을 맞추고 동일한 대답을 여러 곳에 붙여 넣지 마십시오.
DavidPostill

0

나는 잠시 동안이 문제를 겪고 있었고 마침내 무슨 일이 일어나고 있는지 깨달았습니다.

작업 스케줄러로 작업을 시작하고 박쥐 파일 인 경우 박쥐 파일이있는 곳이 아니라 C : \ WINDOWS \ system32에 대한 cmd 창을 엽니 다. 왜? 나는 단서가 없다! 그래서 내가해야 할 일은 bat 파일에 cd가있는 디렉토리를 추가하는 것입니다.

아래 예 :

cd c : \ blahblahblah

startmyprogram.exe


귀하의 답변은 많은 혼란을 야기하며 OP가 발생한 문제의 원인을 알 수 없습니다. 이 링크 superuser.com/help/how-to-answer 를 참조하면 응답하는 동안 도움이됩니다.
Rajesh S
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.