programing

윈도우즈 cmd 스크립트에서 여러 명령 실행

mailnote 2023. 4. 16. 15:28
반응형

윈도우즈 cmd 스크립트에서 여러 명령 실행

Windows cmd 스크립트를 작성하여 여러 작업을 연속적으로 수행하려고 합니다.그러나 스크립트의 첫 번째 명령어 이후에는 항상 중지됩니다.

이 명령어가 끝나면 maven build가 정지됩니다(관련성이 있는지 확실하지 않습니다).

어떻게 하면 각 작업을 차례로 수행하고 실행할 수 있을까요?

소프트웨어의 인스톨이나 레지스트리 설정 등은 전혀 문제가 되지 않습니다.바닐라 Windows XP 의 인스톨에서는 동작하지 않으면 안 됩니다.

명령어 중 하나라도 실패했을 경우 스크립트를 중단하는 것이 이상적이지만, 이는 필수적이 아니라 "사용하기 좋은" 명령어입니다.

감사해요.

다른 .bat 파일을 호출할 때는 호출 앞에 "call"이 필요합니다.

call otherCommand.bat

첫 번째 명령어가 성공한 경우에만 명령어 사이에 & & 기호를 사용하여 두 번째 명령을 실행할 수 있습니다.자세한 내용은 http://commandwindows.com/command1.htm 를 참조해 주세요.

첫 번째 명령이 중지되는 이유를 알 수 없습니다.평행하게 할 수 있다면 이런 것도 할 수 있어요.

start cmd.exe /C 1.bat      
start cmd.exe /C 2.bat

저는 방금 maven 테스트 스크립트를 실행하기 위한 배치스크립트를 작성하는 것과 똑같은 작업을 하고 있습니다.문제는 mvn 클린 설치를 사용하여 호출하는 maven scalling maven scrips...는 그 자체가 스크립트이므로 call 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 .

여기서 1개의 앰퍼샌드만 사용하면 첫 번째 앰퍼샌드가 실패하더라도 두 명령어 모두 실행이 시도됩니다.

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 스크립팅호스트에 내장되어 있습니다.

배치 파일에는 세미콜론이 필요하지 않습니다.콜을 사용해야 하는 이유는 mvn 자체가 배치파일이고 배치파일이 콜을 통해 서로 콜해야 하기 때문입니다.그렇지 않으면 제어가 발신자에게 반환되지 않습니다.

언급URL : https://stackoverflow.com/questions/197976/executing-multiple-commands-from-a-windows-cmd-script

반응형