배치 파일 실행 후 cmd 창을 자동으로 닫는 방법은 무엇입니까?


88

다음 두 줄이있는 배치 파일을 실행하고 있습니다.

start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

이 배치 파일은 Xming 응용 프로그램을 실행 한 다음 PuTTY 응용 프로그램을 실행하는 데 사용되므로 대학의 컴퓨터 실험실에 SSH를 사용할 수 있습니다.

그러나 이것을 실행하고 Xming이 아직 열려 있지 않은 경우 PuTTY 터미널을 종료하면 cmd 창이 열려 있습니다. 이미 Xming을 실행 한 경우에만 PuTTY 터미널을 닫을 때 cmd 창이 닫힙니다. exit배치 파일의 마지막 줄에 추가하려고 했지만 아무 소용이 없습니다.


1
이다 "C:\Program Files (x86)\Xming\Xming.exe"putty.exe에서 매개 변수, 또는 별도의 명령은?
bpoiss

두 번째 줄이 두 번째 명령 인 경우 그 앞에 start를 추가해보십시오.
Grey '

1
@BernhardPoiss는 별도의 명령이며 putty.exe의 매개 변수가 아닙니다. 그 선을 먼저 넣으면 퍼티가 걸려 열리지 않습니다. 나는 그것의 앞에 시작 두는 경우에, 창은 'C : \ 프로그램'을 찾을 수 없습니다 "라는.. 확인하시기 바랍니다 확인이 유형이 제대로입니다
yiwei

답변:


134

START프로그램 STARTCALL다른 프로그램 대신 배치 파일을 두 프로그램 모두 수정

start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"
start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

이렇게 실행하면 프로그램을 시작한 후 CMD 창이 열려 있지 않습니다.


28
경로에 큰 따옴표를 사용하는 경우를 제외하고 ""는 제목이 필수가되므로 첫 번째 매개 변수를 추가 해야합니다. 두 번째 명령은해야 start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow그것이라는 명령 창을 열려고 할 것이다, 그렇지 않으면 C:\Program Files (x86)\Xming\Xming.exe실행하려고 시도 :0매개 변수-clipboard -multiwindow
패트릭 Meinecke

또한,이 start /B "GCFScape" "x64\GCFScape.exe">nul예는 나를 위해 도움이되었다
xacinay

4
"명령이 내부 cmd 명령이거나 배치 파일 인 경우 명령 프로세서는 cmd.exe에 대한 / K 스위치를 사용하여 실행됩니다. 이는 명령이 실행 된 후에도 창이 남아 있음을 의미합니다." ss64.com/nt/start.html
CAD는 놈

3
귀하의 상술 한 문제는 사용하여 해결할 수 있습니다 @CADblokecmd.exe /C "start cmd.exe /C [...].bat ..."
토르스텐 Schöning에게

1
@ patrick-meinecke ""에 대한 의견을 추가해 주셔서 감사합니다. 이로 인해 문제가 발생했다는 사실에 실망했습니다. 나는 당신의 코멘트를 읽고 아하 순간이 이어졌습니다.
마이클 Eakins

20

일반적으로라는 줄로 배치 파일을 끝냅니다 exit. 파일이 실행되고 2 초 후에 DOS 창이 닫히는 지 확인하려면 다음 행을 추가 할 수 있습니다.

timeout 2 >nul
exit

그러나 exit배치 파일이 다른 창을 열면 명령이 작동하지 않습니다. 두 번째 창이 열려있는 동안 이전 DOS 창도 표시되기 때문입니다.

해결책 : 예를 들어 컴퓨터에 대한 모든 정보를 표시하는 BgInfo 라는 작은 무료 프로그램이 있습니다. 라는 디렉토리에 있다고 가정 C:\BgInfo하고 /popup스위치 로 배치 파일에서 실행하고 여전히 실행되는 동안 DOS 창을 닫으려면 다음을 사용하십시오.

start "" "C:\BgInfo\BgInfo.exe" /popup
exit

가진 /popup사실은 나에게 오류를주고 있었다. 제거한 후 모든 일했다
드미트리 에피 멘코에게

4

명령을 파일 당 하나의 명령으로 분리하려면 다음을 수행 할 수 있습니다.

cmd /c start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"

다른 파일에서는 다음을 수행 할 수 있습니다.

cmd /c start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

cmd / c 명령은 exe가 실행 된 후 명령 프롬프트 창을 닫습니다.


3

이것은 나를 위해 일했습니다. 게임을 종료 한 후 명령 창을 자동으로 닫고 싶었습니다. 데스크탑에서 .bat 파일을 두 번 클릭합니다. 단축키가 없습니다.

taskkill /f /IM explorer.exe
C:\"GOG Games"\Starcraft\Starcraft.exe
start explorer.exe
exit /B

1

나는 이것을 가지고 있었고 EXIT처음에는 작동하지 않았고 처음에는 작동하지 않았습니다. called program exiting여기에 다른 응답에서 언급 한 조언을 요구하는 것 같지만 이제는 더 이상 고민하지 않고 작동합니다.이 원인은 확실하지 않지만 주목할 점은 데이터 파일 호출 .html이 아닌 프로그램 핸들이 그 browser.exe사람, 내가하지 않았다 편집 아무것도하지만 충분하면 그냥 액세스하는 웹 문서의 주요 액세스 페이지를 박쥐 파일을 사용하여 훨씬 깔끔한 모양입니다 만 가지고 말을 title.bat, contents.bat, index.bat루트 폴더에 나머지 콘텐츠는 하위 폴더에 있습니다.

즉 : contents.bat 읽기

cd subfolder
"contents.html"
exit

컨텍스트에 맞게 해당 항목에 대한 bat 파일 아이콘을 변경하면 더 좋아 보이지만 하위 폴더에서 bat 파일을 숨기고 이미지가있는 루트 폴더에 사용자 지정 아이콘 바로 가기를 만드는 또 다른 문제입니다. 사용자 정의도 숨겨져 있습니다.


0

다소 위험한 시도를 할 수 taskkill /IM cmd.exe있습니다. 열려있는 cmd와 그 전에 열린 cmd를 죽일 위험한 bcz입니다.

또는 확인을 추가하여 cmd.exe가 올바른지 확인한 다음 PID를 통해 다음과 같이 종료하십시오.

set loc=%time%%random%
title=%loc%
for /f "tokens=2 delims= " %%A in ('tasklist /v ^| findstr /i "%loc%"') do (taskkill /PID %%A) 

대체 (pslist &&A)(tasklist /FI "PID eq %%A")에 대한 (taskkill /PID %%A)당신이 먼저 그것을 확인하고 싶은 경우 (어쩌면 PsTools가 설치 한).


0

/s아래 나열된대로 시도하십시오 .

배치 파일 유형의 마지막 줄 :

exit /s

위의 명령은 Windows CMD 창을 닫습니다.

/s -조용함을 의미합니다 (키보드에서 입력을 기다립니다).


1
cmd종료 명령은 없습니다 /s스위치를 (그리고 그것은 무의미한 어쨌든 것)
스테판

-1

실행 코드 끝에이 코드를 추가합니다.

c : \ windows> 종료


1
당신은? 질문의 마지막 문장을 읽었다I've tried adding exit to the last line of the batch file, but to no avail.
스테판

스크립트 끝에 이탈을 추가했으며 실제로 내 문제를 해결했습니다.
Attila
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.