오류가 발생한 후 .bat 파일을 계속 유지하려면 어떻게 해야 하나요?

오류가 발생한 후 .bat 파일을 계속 유지하려면 어떻게 해야 하나요?

Windows에 세 가지 작업을 수행하는 .bat 파일이 있습니다.

cmd1 arg1 arg2
cmd2 arg3 
cmd3 arg4 arg5 arg6

때로는 cmd1이 실패할 수 있지만 괜찮습니다. 계속해서 cmd2와 cmd3을 실행하고 싶습니다. 하지만 내 방망이는 cmd1에서 멈췄습니다. 이것을 어떻게 피할 수 있습니까?

업데이트명확하게 말하면 이는 다른 .bat 파일이 아니라 exe 명령입니다. 이를 달성하기 위해 .bat 파일 트리를 구축할 필요가 없기를 바랍니다.

답변1

또 다른 옵션은 amperstand( &) 를 사용하는 것입니다.

cmd1 & cmd2 & cmd3

double을 사용하는 경우 이전 명령이 성공적으로 완료된 경우에만 계속됩니다( %ERRORLEVEL%==0).

cmd1 && cmd2 && cmd3

이중 파이프( ||)를 사용하는 경우 이전 명령이 오류 코드( %ERRORLEVEL% NEQ 0) 와 함께 완료되는 경우에만 다음 명령을 실행합니다.

cmd1 || cmd2 || cmd3

답변2

이것은 나에게 효과적이었습니다.

cmd.exe /c cmd1 arg1
cmd2
...

이는 cmd.exeWindows 명령 해석기의 새 인스턴스에서 명령을 실행하는 데 사용되므로 실패한 명령으로 인해 배치 스크립트가 중단되지 않습니다. 플래그 /c는 명령 실행이 완료되자마자 인터프리터에게 종료하도록 지시합니다.

cmd2첫 번째 명령이 실패하더라도 실행됩니다. cmd /?자세한 내용은 Windows 명령 프롬프트를 참조하세요 .

답변3

cmd가 다른 .bat 파일이라고 가정하면 다음과 같이 명령이 스택됩니다.

 call cmd1
 call cmd2
 call cmd3

답변4

추가하려면캐나다 루크의 답변, 스크립트를 좀 더 체계적으로 유지하려면 ^다음과 같이 스크립트의 새 줄에 명령 체인을 계속 사용할 수 있습니다.

scoop install windows-terminal & ^
scoop install joplin & ^
scoop install neovim & ^
scoop install autohotkey & ^
... & ^
scoop update -a

못생긴 대신

scoop install windows-terminal & scoop install joplin & scoop install neovim & ...

관련 정보