programing

이 Windows 배치 파일의 첫 번째 줄만 실행되고 세 줄 모두 명령 셸에서 실행되는 이유는 무엇입니까?

goodsources 2023. 5. 6. 14:55
반응형

이 Windows 배치 파일의 첫 번째 줄만 실행되고 세 줄 모두 명령 셸에서 실행되는 이유는 무엇입니까?

세 개의 메이븐 명령을 차례로 실행하는 배치 파일을 가지고 있습니다.각 명령은 스크립트에서 자체적으로 성공적으로 실행될 수 있습니다!그러나 세 개의 명령어를 모두 같은 파일에 추가하면 스크립트가 종료되기 전에 첫 번째 명령어만 실행됩니다.왜 그런지 추측이라도?

mvn install:install-file -DgroupId=gdata -DartifactId=base -Dversion=1.0 -Dfile=gdata-base-1.0.jar  -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger -Dversion=2.0 -Dfile=gdata-blogger-2.0.jar  -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger-meta -Dversion=2.0 -Dfile=gdata-blogger-meta-2.0.jar  -Dpackaging=jar -DgeneratePom=true

또한 3개의 명령어를 모두 복사하여 명령어 셸(cmd.exe)에 붙여넣으면 문제없이 차례로 실행됩니다.DOS 배치 파일에 문제가 있는 것 같습니다.

메이븐은 배치 파일을 사용하여 비즈니스를 수행합니다.배치 스크립트를 사용할 때는 호출된 스크립트가 완료된 후 스크립트로 돌아갈 수 있도록 명령을 사용하여 다른 스크립트를 호출해야 합니다.미리 준비해 보십시오.call모든 명령에 적용됩니다.

유사하게 작동하는 명령을 사용하는 것도 시도할 수 있습니다.

하고 있다call도움이 필요합니다. 하지만 오늘은 그렇지 않았습니다.

이렇게 해결했습니다.

Bat 파일 내용(cmds 오류 중 하나가 발생했을 때 배치를 중지하려는 경우)

cmd1 && ^
cmd2 && ^
cmd3 && ^
cmd4

Bat 파일 내용(cmds 오류 중 하나가 발생했을 때 배치를 계속하려는 경우)

cmd1 & ^
cmd2 & ^
cmd3 & ^
cmd4

한 스크립트에서 더 많은 Maven 빌드를 실행하려면 다음과 같은 방법으로 Windows 호출 기능을 사용해야 합니다.

call mvn install:install-file -DgroupId=gdata -DartifactId=base -Dversion=1.0 -Dfile=gdata-base-1.0.jar  -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -DgroupId=gdata -DartifactId=blogger -Dversion=2.0 -Dfile=gdata-blogger-2.0.jar  -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -DgroupId=gdata -DartifactId=blogger-meta -Dversion=2.0 -Dfile=gdata-blogger-meta-2.0.jar  -Dpackaging=jar -DgeneratePom=true

그것은 특정한 것이어야 합니다.mvn지휘권execsand가 반환되지 않으므로 나머지 명령을 실행할 수 없습니다.

다음 배치 파일을 작성하여 실행해 보십시오.

Echo one
cmd
Echo two
cmd
Echo three
cmd

처음 두 줄만 실행됩니다.그러나 명령 프롬프트에서 "종료"를 입력하면 다음 두 줄이 처리됩니다.포탄이 다른 포탄을 장전하는 것입니다.

스크립트에서 이 작업이 수행되지 않도록 하려면 첫 번째 명령이 종료될 때 "종료"를 입력하십시오.

HTH!

배치 파일의 DOS 명령은 EX를 입력할 때만 실행되었습니다.IT가 명령/DOS 창에 표시됩니다.배치 파일에서 CMD를 제거했을 때 이 문제가 해결되었습니다.그럴 필요 없어요.

언급URL : https://stackoverflow.com/questions/4036754/why-does-only-the-first-line-of-this-windows-batch-file-execute-but-all-three-li

반응형