배치 파일 : 콘솔 창을 열어 두는 방법


105

두 개의 배치 파일이 있는데 그중 하나는 다른 파일을 실행합니다.

  1. "내 배치 파일"> 2. "다른 배치 파일"

첫 번째 배치 파일의 바로 가기를 만들고 다음과 같은 방식으로 호출하도록 속성을 편집했습니다.

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause

원하는 작업 배치 파일 실행이 끝난 후 콘솔 창이 열리기를 원합니다. 이제는 닫히고 cmd 플래그 주위에서 재생하려고 시도했지만 결과가 없습니다.

플랫폼 : Windows7


업데이트 1

구조를 수정했습니다. 이와 같은 간단한 예제는 잘 작동하지 않습니다. 하나의 배치 파일 만 있습니다. 즉, 2 개의 배치 파일이 없습니다. "Some Other Batch File"유일한 배치 파일에는 이와 같은 smth가 포함되어 있습니다.

start /B /LOW /WAIT make package
cmd /K

업데이트 2

탐색기에서 호출되는 동일한 바로 가기는 콘솔 창을 닫지 않습니다. 그러나 작업 표시 줄의 고정 된 항목에서 바로 가기를 호출하면 콘솔 창이 닫힙니다.

콘솔 창을 열어 두는 방법에 대한 아이디어가 있습니까?


나는 당신이 My Batch File주위에 붙어 있기를 원한다고 생각 합니까?
Marc B

"배치 파일의 콘솔 창을 열어
두는 것이 좋습니다

답변:


126

그 정말 모든 배치 파일이하고있는 경우에는 제거 cmd /K및 추가 PAUSE.

start /B /LOW /WAIT make package
PAUSE

그런 다음 바로 가기를 "My Batch File.bat"...로 지정할 필요가 없습니다 CMD /K.

최신 정보

아, 새로운 정보가 있습니다. 작업 표시 줄에 고정 된 바로 가기에서 수행하려고합니다.

아래 관련 부분이 있는 Vista / XP Quick Launch와 같은 Windows 7 작업 표시 줄에 배치 파일 추가 라는 것을 발견했습니다 .

  1. 먼저 CMD.EXE시작 버튼을 눌러 작업 표시 줄에 대한 바로 가기를 고정한 다음 검색 상자에 "cmd"를 입력하고 결과를 마우스 오른쪽 단추로 클릭 한 다음 "작업 표시 줄에 고정"을 선택합니다.
  2. 작업 표시 줄의 바로 가기를 마우스 오른쪽 버튼으로 클릭합니다.
  3. "이 포함 된 목록이 표시됩니다. 명령 프롬프트 "및 " 작업 표시 줄에서이 프로그램 고정 해제 " 이 표시 됩니다.
  4. 아이콘을 마우스 오른쪽 버튼으로 클릭 CMD.EXE 선택 Properties합니다.
  5. 대상에 대한 상자의 끝으로 이동 "%SystemRoot%\system32\cmd.exe"및 유형" /C " 하여 배치 파일의 경로와 이름을 합니다.

목적에 따라 다음 중 하나를 수행 할 수 있습니다.

  1. 사용하다 /CPAUSE배치 파일 끝에 a 를 하고 넣으 십시오.

    또는

  2. 사용할 명령 줄을 변경하고 배치 파일에서를 /K제거 PAUSE합니다.

나는 이미 ... 기본적으로 내 질문에 anohter 배치 파일을 호출하는 방법을하지, 그것을 한 적이
deimus

그런 다음 두 배치 파일의 내용을 확인해야합니다.
aphoria

udpated 질문을 참조하십시오
deimus

동일한 문제, CMD / K 교체가 작동하지 않습니다. 탐색기에서 바로 가기를 호출하면 콘솔 창이 닫히지 않는 이유는 무엇입니까?
deimus

13

여기에:

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause

무엇을하고 있는지 살펴보십시오.

  1. (cmd / K) cmd 인스턴스를 시작 합니다.
  2. (& pause) CURRENT cmd 인스턴스를 일시 중지 합니다 .

어떻게 해결합니까? 올바른 구문을 사용하여 새 CMD 인스턴스에 대한 인수를 포함합니다.

cmd.exe /k ""<SomePath>\<My Batch File>.bat" & pause"

6

마지막 줄을 다음과 같이 작성했습니다. Pause 했습니다. .bat 및 .cmd 모두에서 잘 작동했습니다. '계속하려면 아무 키나 누르십시오'라는 메시지도 표시됩니다.


이것은 정답입니다! 최고 득표자가되어야합니다.
Patrick Hillert 2016 년

5

열어 놓으려는 배치 파일의 마지막 줄에

pause >nul


그 때 일찍 닫히는 것 같으며 스크립트의 오류 일 수 있습니다. cmd 프롬프트를 열고 거기에서 실행하면 오류가 있는지 확인할 수 있습니다.
Bali C

3

콘솔 창을 열어 두려면 배치 파일의 마지막 명령 줄에만 추가하면됩니다.

' & pause'

2

넌 그냥 넣을 수 있습니다 pause명령을 배치 파일의 마지막 줄에 :

@echo off
echo Hey, I'm just doing some work for you.
pause

출력으로 다음과 같은 것을 제공합니다.

이봐, 난 그냥 너를 위해 일하는거야.

계속하려면 아무 키나 누르십시오 ...

참고 : @echo를 사용하면 출력이 인쇄되기 전에 명령이 출력되지 않습니다.



-1

끝에 넣으면 콘솔이 다시 열립니다.

start cmd 

이것은 문제를 해결하지 못합니다. 사용자는 이전 창을 다시 열지 않고 창을 열어두기를 원합니다.
Adam

-5

Enter 키를 누르고 Pause를 입력하면 정상적으로 작동합니다.

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