여러 작업을 연속적으로 수행하기 위해 Windows cmd 스크립트를 작성하려고합니다. 그러나 항상 스크립트의 첫 번째 명령 후에 중지됩니다.
이후에 중지되는 명령은 maven 빌드입니다 (관련이 있는지 확실하지 않음).
각 작업을 차례로 수행하고 실행하려면 어떻게해야합니까?
소프트웨어를 설치하거나 레지스트리 등을 구성하는 것은 완전히 문제가 아닙니다. 바닐라 Windows XP 설치에서 작동해야합니다.
이상적으로는 명령 중 하나라도 실패하면 스크립트를 중단하고 싶지만 “필수품”이지만 필수는 아닙니다.
감사.
답변
다른 .bat 파일을 호출 할 때는 호출 앞에 “호출”이 필요하다고 생각합니다.
call otherCommand.bat
답변
명령 사이에 && 기호를 사용하여 첫 번째 명령이 성공한 경우에만 두 번째 명령을 실행할 수 있습니다. 자세한 정보는 여기 http://commandwindows.com/command1.htm
답변
첫 번째 명령이 왜 중지되는지 확실하지 않습니다. 병렬로 만들 수 있다면 다음과 같은 것을 시도해 볼 수 있습니다
start cmd.exe /C 1.bat
start cmd.exe /C 2.bat
답변
방금 maven 테스트 스크립트를 실행하기 위해 배치 스크립트를 만드는 것과 동일한 작업을 수행했습니다. 문제는 mvn clean install …로 maven scrips를 호출하는 것 자체가 스크립트이므로 mvn clean install을 호출해야합니다.
작동하는 코드
rem run a maven clean install
cd C:\rbe-ui-test-suite
call mvn clean install
rem now run through all the test scripts
call mvn clean install -Prun-integration-tests -Dpattern=tc-login
call mvn clean install -Prun-integration-tests -Dpattern=login-1
오히려 호출 사용에 유의하십시오. 이것은 배치 파일에서 연속적인 maven 스크립트를 사용할 수있게합니다.
답변
이중 앰퍼샌드를 사용하면 첫 번째 명령이 성공한 경우에만 두 번째 명령이 실행됩니다.
cd Desktop/project-directory && atom .
앰퍼샌드 하나만 사용하면 첫 번째 오류가 발생하더라도 두 명령을 모두 실행하려고합니다.
cd Desktop/project-directory & atom .
답변
Windows에서 실행중인 경우 다음 명령을 사용할 수 있습니다.
드라이브:
cd "Script location"
schtasks /run /tn "TASK1"
schtasks /run /tn "TASK2"
schtasks /run /tn "TASK3"
exit
답변
나는 당신의 질문에 대한 직접적인 대답을 모르지만, 만약 당신이이 스크립트를 많이 사용한다면, perl과 같은 더 강력한 언어를 배우는 것이 가치가있을 것입니다. Windows (예 : activestate, cygwin)에는 무료 구현이 있습니다. 나는 내 자신의 작업에 대한 초기 노력의 가치가 있음을 발견했습니다.
편집하다:
@Ferruccio가 제안한 것처럼 추가 소프트웨어를 설치할 수 없다면 vbscript 및 / 또는 javascript를 고려하십시오. 그것들은 Windows 스크립팅 호스트에 내장되어 있습니다.