2
저는 오랫동안 사용해온 Windows .bat
파일을 작업 중입니다. 마지막 줄에는 인수가없는 단일 exit
문이 있습니다.배치 파일의 하단에있는 단일 출구가 중복됩니까?
이것은 완전히 중복 된 것처럼 보입니다. 그들의 존재에 대한 타당한 이유가 있습니까?
저는 오랫동안 사용해온 Windows .bat
파일을 작업 중입니다. 마지막 줄에는 인수가없는 단일 exit
문이 있습니다.배치 파일의 하단에있는 단일 출구가 중복됩니까?
이것은 완전히 중복 된 것처럼 보입니다. 그들의 존재에 대한 타당한 이유가 있습니까?
옵션은 배치 파일 과의 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
아 같은 일부 파일 이름 문제를 방지하기 위해 출구가 필요합니다, 그래서 거기에 차이가 있지만 실제로 그 성가신 것 그리고 그들은 이런 식으로 만들어진 이유는 상상할 수 없다 , 그래서 나는 그들을 제거 할 것입니다. –
그런데 일부 파일은 중요한 파일에서 호출되기 때문에 설명 된 문제가 발생하지 않습니다. 그러나, 그것은'call'을 사용하지 않고'start/B/wait'를 사용합니다. 서브 파일에서 'exit'의 문제를 명시 적으로 피하는 것 이외에 어떤 이유가있을 수 있습니까? –
'call'은 현재 프로세스에서 스크립트를 실행하는 반면,'start'는 새로운 인스턴스를 실행하고 (bash에서 _sourcing_와 _executing_에 해당), 변수 수명과 관련한 예상 결과와 함께 스크립트를 실행합니다. 그러나 여기서는 변수가 사용되지 않으므로 요인이 아닙니다. 또한 호출 된 파일의 종료가 호출 프로세스를 종료하는 이유를 설명합니다. 하나의 프로세스 만 있기 때문입니다. –