BAT 파일이 실행 된 후 CMD를 열린 상태로 유지


169

다음과 같은 박쥐 파일이 있습니다.

ipconfig

그러면 IP 정보가 화면에 인쇄되지만 사용자가 해당 정보를 읽기 전에 CMD가 닫힙니다.

CMD는 스크립트가 완료되었다고 가정하므로 닫힙니다.

스크립트가 완료된 후 CMD를 어떻게 열어 두나요?



4
@RobKielty 그것은 똑같은 질문입니다-그러나 여기에 우리는 새로운 답변을
얻었습니다 (


@alfasin Rutger Nijlunsing의 답변과 동일하지 않습니까?
Rob Kielty

@RobKielty nope, 내 대답은 그것을 사용하지 않는 것과 같지 않습니다. pause이것은 좋은 해결 방법이며 (이 답변을 찬성 한 이유입니다) 사용자가 방문 Enter하거나 Space창을 닫은 후 실제로 문제를 해결하는 해결책은 아닙니다 . ..
alfasin

답변:


163

명령을 실행하는 방법에 따라 넣을 수 있습니다 /kcmd열린 창을 유지합니다.

cmd /k my_script.bat

cmd /k배치 파일의 끝에 추가하면 간단 하게 작동합니다. 에 신용 루이지 미코 아래 코멘트에 이것에 대해 기록했다.


14
박쥐 파일에 모든 스크립트를 넣은
Luigi D' Amico

3
프로그램에 구문 오류가 포함 된 경우 더블 클릭을 통해 프로그램을 실행하고 종료하면 창이 닫힙니다 cmd /k.
Tobias Feil

사용자가 파일을 두 번 클릭하면 cmd 창이 닫히는 것을 설명하지 않습니다.
K-SO의 독성이 증가하고 있습니다.

237

pause.BAT 파일의 끝에 놓으십시오 .


7
CMD 명령을 사용하지 않고 시작할 때 bat 파일을 실행하기 때문에 이것이 바로 내가 찾던 것입니다. +1
Hawkeye

3
스크립트가 실행 한 후, 다음, 당신은 여전히 같은 맥락에서 나중에 수동 명령을 실행할 수 있습니다 - 당신은 여전히 당신의 실행 후 박쥐 파일과 상호 작용하려면, 단지 cmd를 / K와 PAUSE 교체
루이지 미코

나는
이것이이

57

@pause끝에 추가 하십시오.

예:

@echo off
ipconfig
@pause

또는 다음을 사용할 수도 있습니다.

cmd /k ipconfig

5
@ 기호는 무엇을합니까? @pause와 pause 사이에 차이가 있습니까?
demonicdaron

3
@demonicdaron @ 기호를 설명하는 답변 : stackoverflow.com/a/21077142/2258
Richard Morgan

그러나이 경우 아무런 차이가 없어야합니다.
Florian Leitgeb

차이 @pause와는 pause이러한 질문에 대해 시각적으로 볼 수있다 : stackoverflow.com/questions/17957076#60053224
ZygD

7

추가 pause나를 위해 작동하지 않았다 끝에 (윈도우 7)에
있지만 추가cmd /k 내 명령 앞에하는 일을했다.

예 :

cmd /k gradlew cleanEclipse

7

.bat 파일이 명령 줄에서 시작 되지 않은 경우 (예 : 두 번 클릭)

echo The echoed text
@pause

at_pause

echo The echoed text
pause

중지

echo The echoed text
cmd /k

cmd k

echo The echoed text & pause

and_pause


3

start cmd /k나를 위해 마술을했다. 실제로 cordova phonegap 앱을 준비하는 데 사용하여 명령을 실행하고 결과를 표시하고 사용자가 닫을 때까지 기다립니다. 아래는 간단한 예입니다

start cmd /k echo Hello, World!

내 경우에 사용한 것

start cmd /k cordova prepare

최신 정보

당신은 이것을 사용하여 이것에 대한 제목을 가질 수 있습니다

start "My Title" echo Hello, World!


1

명령 행에서 스크립트를 시작하는 경우 추가 exit /b하여 CMD를 열어 두십시오.


수정 ipconfig및 기타 기본 제공 배치 파일 은 매우 나쁜 아이디어이므로 실제로 문제를 해결하지 못합니다 .
robinCTS


1

또한 cmd처음 에 왜 추가하는지에 대해 혼란 스러웠 으며 명령 프롬프트를 먼저 열어야하는지 궁금했습니다. 당신이해야 할 일은와 함께 전체 명령을 입력하는 것입니다 cmd /k. 예를 들어 배치 파일 이름이 "my_command.bat"이고 명령 javac my_code.java을 실행하는 경우 배치 파일의 코드는 다음과 같아야합니다.

cmd /k javac my_code.java

따라서 기본적으로 현재 폴더에서 명령 프롬프트를 열고 위 명령을 입력 할 필요는 없지만이 코드를 배치 파일에 직접 저장하고 직접 실행할 수 있습니다.


0
javac -d C:\xxx\lib\ -classpath C:\xxx\lib\ *.java

cmd cd C:\xxx\yourbat.bat

두 번째 명령은 cmd 창을 닫지 않습니다. 중요한 것은 여전히 ​​새로운 명령을 입력 할 수 있다는 것입니다


0

참고로 이것은 창의 검색 창에서 직접 명령을 실행할 때도 작동합니다.

예를 들어, 직접 실행 ipconfig은 명령이 종료 된 후 cmd 창을 직접 닫습니다.

여기에 이미지 설명을 입력하십시오

사용 cmd \k <command>하지 않습니다-이것은이 답변을 찾았을 때 시도한 것입니다.

여기에 이미지 설명을 입력하십시오

실행하려는 명령을 항상 인식한다는 이점이 있습니다. 예를 들어 echo hello world명령 줄이 아니기 때문에 검색 창에서 실행 하면 작동하지 않지만 제대로 cmd \k echo hello world작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.