2016-06-28 1 views

답변

4

옵션은 배치 파일 의 cmd.exe 인스턴스를 종료합니다.

당신은 탐색기에서 시작하여 배치 파일을 시작, 차이,
가 아니라 당신이 cmd를 창에서 배치 파일을 시작할 때 배치 파일이 exit을 실행하면, 창이 닫힙니다.

일반적으로 exit은 호출하는 배치 파일을 취소하므로이 유형의 파일을 호출하는 다른 배치 파일을 작성할 수 없으므로이 문제를 방지해야합니다.

call myAnnoyingBatch.bat 
echo This won't be displayed anymore 

나는 단지 스크립트의 끝에서 exit를 사용하여 하나의 좋은 이유를 알고있다. 당신이 drag&drop script that should be bullet proof을 구축
, 당신은 cat&dog.png

+0

아 같은 일부 파일 이름 문제를 방지하기 위해 출구가 필요합니다, 그래서 거기에 차이가 있지만 실제로 그 성가신 것 그리고 그들은 이런 식으로 만들어진 이유는 상상할 수 없다 , 그래서 나는 그들을 제거 할 것입니다. –

+0

그런데 일부 파일은 중요한 파일에서 호출되기 때문에 설명 된 문제가 발생하지 않습니다. 그러나, 그것은'call'을 사용하지 않고'start/B/wait'를 사용합니다. 서브 파일에서 'exit'의 문제를 명시 적으로 피하는 것 이외에 어떤 이유가있을 수 있습니까? –

+0

'call'은 현재 프로세스에서 스크립트를 실행하는 반면,'start'는 새로운 인스턴스를 실행하고 (bash에서 _sourcing_와 _executing_에 해당), 변수 수명과 관련한 예상 결과와 함께 스크립트를 실행합니다. 그러나 여기서는 변수가 사용되지 않으므로 요인이 아닙니다. 또한 호출 된 파일의 종료가 호출 프로세스를 종료하는 이유를 설명합니다. 하나의 프로세스 만 있기 때문입니다. –