기술 · 실용 가이드
Robocopy가 복사 성공 후 종료 코드 1? 복사가 아니라 CI 경계를 고치세요
Robocopy의 0–7은 완료 결과이고 8 이상은 복사 실패입니다. 원래 코드와 로그를 즉시 보존하고 batch, PowerShell, Jenkins 경계에서만 변환하세요.

Robocopy 코드 1은 선택한 파일이 성공적으로 복사되었다는 뜻이지만 Jenkins는 보통 모든 nonzero 상태를 실패로 봅니다.
직후 원래 값을 저장하고 8 미만은 완료, 8 이상은 실패로 분류하며 summary와 log를 남기세요.
원래 결과를 즉시 캡처
Robocopy 직후 %ERRORLEVEL% 또는 $LASTEXITCODE를 저장하세요. 다음 외부 command가 값을 덮을 수 있습니다.
copied, FAILED, Mismatch, Extras summary를 보존하세요. code는 분류하고 log는 원인을 설명합니다.
0–7과 8+ 분류
0은 동기 상태, 1은 복사 성공, 2–7은 복사 실패가 없는 완료 조합입니다. /MIR이면 extra도 검토하세요.
실패 경계는 8입니다. 모든 nonzero 또는 좁은 0–3 규칙을 쓰지 마세요.
cmd와 PowerShell 변환
batch는 rc를 저장하고 rc GEQ 8이면 원래 값을, 아니면 0을 CI에 반환합니다.
PowerShell은 $LASTEXITCODE를 저장하고 log에 남긴 뒤 8 미만이면 0, 아니면 rc를 반환합니다.
Jenkins에서 실패 보존
Jenkins Windows step은 nonzero에서 기본 실패합니다. returnStatus: true로 비교할 값을 받을 수 있습니다.
8 미만은 CI 성공으로 바꿔도 log를 보존하고, 8 이상은 원래 값과 함께 실패시키세요.
복사 검증과 기록
source, destination, count와 대표 파일을 확인하세요. /MIR 또는 /PURGE 삭제는 성공 code만으로 안전하지 않습니다.
command, options, 원래 code, CI code, log 위치를 기록하고 이상하면 중단하세요.
