배치 파일 실행 후 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프로그램 START과 CALL다른 프로그램 대신 배치 파일을 두 프로그램 모두 수정

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.