Nice programing

cmd.exe에서 "배치 작업 종료"를 억제하려면 어떻게해야합니까?

nicepro 2020. 12. 25. 22:57
반응형

cmd.exe에서 "배치 작업 종료"를 억제하려면 어떻게해야합니까?


배치 파일에서 시작된 프로그램에서 CTRL-C를 누를 때마다받는 "배치 작업을 종료 하시겠습니까? (Y / N)"초대를 표시하지 않는 메커니즘을 찾고 있습니다.

배치 파일 : jsshell.bat :

@echo off
java -jar build-scripts\contrib\rhino1.7R1.jar

그런 다음 cmd 쉘에서 다음을 수행하여 시작하십시오.

> jsshell.bat

CTRL-C로 종료 할 수있는 쉘을 제공합니다. 종료 후 불쾌한 메시지가 표시됩니다.


배치 스크립트를 피하여 문제 해결을 고려하는 것을 잊지 마십시오.

  • Doskey 매크로 는 위에 인용 된 것과 같은 한 줄짜리 배치 스크립트를 대체 할 수 있습니다. ( 자동 실행 스크립트 에로드하십시오 .)
  • Cscript.exe 는 모든 최신 Windows 시스템에서 사용할 수 있으며 명령 줄에서 JavaScript 및 VBScript 프로그램을 실행할 수 있습니다.
  • 자주 사용하는 스크립팅 언어 (Perl, Python, Ruby 등)의 파일 확장자를 PATHEXT 환경 변수에 추가하고 스크립트를 경로에 추가하면 배치 스크립트없이 직접 실행할 수 있습니다.

사이트 에서 마침내 효과적인 해결책을 찾았습니다.

script.cmd < nul

script2.cmd위의 줄과 같은 폴더에 두 번째 스크립트를 만들 때마다 이것을 입력 할 필요가 없습니다 . 이름을 바꾸는 것이 좋습니다. 나를 위해 작동하지만 지금까지 XP에서만 테스트되었습니다.


이 동작은 cmd.exe 소스 코드에서 구현되며 cmd.exe를 수정하지 않고는 끌 수 없습니다. 그러나 cmd.exe를 수정하여 메시지를 표시하지 않을 수 있습니다 .


예, cmd.exe를 패치하는 것보다 더 우아한 방법이 있습니다. 명령 앞에 START를 입력하십시오. 예를 들어 줄은 다음과 같습니다. "START java -jar build-scripts \ contrib \ rhino1.7R1.jar"


FWIW, 명령 입력으로 파이핑 'N'은 일부 배치 파일에서 저에게 효과적이었습니다 (실제로 새 창을 원했습니다). 아마도 그것은 당신에게도 효과가있을 것입니다.

(echo. N)| cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar

아래 수정은 "Terminate batch job? (Y / N)" 새 콘솔 창을 표시하지 않습니다.

start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar

@start cmd /c java -jar build-scripts\contrib\rhino1.7R1.jar
@exit

이것은 하나의 창만 만들 것입니다


이 시도. 새 콘솔을 열지 만 열려있는 동안 다른 콘솔을 잠급니다.

@echo off
start /WAIT java -jar build-scripts\contrib\rhino1.7R1.jar

참조 URL : https://stackoverflow.com/questions/1234571/how-can-i-suppress-the-terminate-batch-job-in-cmd-exe

반응형