developer tip

Windows 배치 스크립트 시작 프로그램 및 종료 콘솔

copycodes 2020. 10. 9. 11:20
반응형

Windows 배치 스크립트 시작 프로그램 및 종료 콘솔


같은 프로그램을 시작하는 데 사용하는 배치 스크립트가 있습니다 notepad.exe. 이 배치 파일을 두 번 클릭하면 메모장이 정상적으로 시작되지만 cmd시작한 사람 의 검은 색 창이 notepad.exe배경에 남아 있습니다. notepad.execmd 창 을 시작 하고 사라지게하려면 어떻게해야합니까?

편집 : 사용하는 것보다 더 복잡 \I합니다.

cmd통화 cygwincygwin시작 notepad. 나는 사용한다

start \I \path\cygwin\bin\bash.exe

첫 번째 창 (cmd)은 사라지지만 두 번째 창 (\ cygwin \ bin \ bash.exe)은 여전히 ​​배경에 있습니다. cygwin 스크립트에서 사용한 notepad.exe &다음 종료합니다.


start "" "%SystemRoot%\Notepad.exe"

""시작과 응용 프로그램 경로 사이에 유지하십시오 .


추가 된 설명 :

일반적으로 아래와 같은 배치 파일에서 프로그램을 시작하면 OP가 말한 것처럼 배경에 검은 색 창이 나타납니다.

%SystemRoot%\Notepad.exe

이는 동일한 명령 프롬프트 (프로세스)에서 실행되는 메모장 때문입니다. 메모장을 닫으면 명령 프롬프트가 닫힙니다. 이를 방지하기 위해 start명령을 사용하여 이와 같은 별도의 프로세스를 시작할 수 있습니다 .

start %SystemRoot%\Notepad.exe

이 명령은 경로에 공백이 없으면 괜찮습니다. 만일을 대비하여 경로의 공간을 처리하기 위해 다음 "과 같이 따옴표를 추가 했습니다.

start "%SystemRoot%\Notepad.exe"

그러나이 명령을 실행하면 다른 빈 명령 프롬프트가 시작됩니다. 왜? 를 조회 start /?하면 start명령은 "시작할 새 명령 프롬프트의 제목으로 사이의 인수를 인식합니다 . 따라서이를 해결하기 위해 다음과 같은 명령이 있습니다.

start "" "%SystemRoot%\Notepad.exe"

의 첫 번째 인수는 ""제목 (공백으로 설정)을 설정하는 것이고 두 번째 인수는 "%SystemRoot%\Notepad.exe"실행할 대상 명령 (경로의 공백을 지원함)입니다.

명령에 매개 변수를 추가해야하는 경우 따옴표로 묶기 만하면됩니다.

start "" "%SystemRoot%\Notepad.exe" "<filename>" 

사용 start notepad.exe.

더 많은 정보를 원하시면 start /?.


%ComSpec% /c %systemroot%\notepad.exe


가장 간단한 방법은 시작하는 것입니다. start

start notepad.exe

여기에서 다음 에 대한 자세한 정보를 찾을 수 있습니다.start


흠 ... CALL 또는 START를 사용하지 않고 이와 같은 배치 파일 중 하나에서 수행합니다.

%SystemRoot%\notepad.exe ..\%URI%
GOTO ENDF

Cygwin이 설치되어 있지 않고 Windows XP를 사용하고 있습니다.


시작 해보세요 path\to\cygwin\bin\bash.exe

참고 URL : https://stackoverflow.com/questions/5909012/windows-batch-script-launch-program-and-exit-console

반응형