최근 수정 시각 : 2023-01-01 00:50:43

Robocopy


1. 개요2. 사용 방법
2.1. 기본적인 사용 방법2.2. 추가 옵션
2.2.1. 복사 옵션2.2.2. ROBOCOPY 옵션2.2.3. ROBOCOPY 작업 옵션
3. 응용

1. 개요

파일:eF64pvy.png

Windows Vista부터 내장된 프로그램. XCOPY의 개선판으로, 다양한 방법으로 로컬 또는 네트워크 파일카피를 할수 있다. 윈도우 비스타부터 도입되었다. 물론 기존 XCOPY도 사용 가능하다.

Windows XP 사용자는 Windows Server 2003 Resource Kit Tools 설치를 필요로 한다 어차피 기술지원 종료될...

패치서버 구현이나 디스크 이미지 백업을 제외한 파일자체 백업시에 유용하다고 한다.

19년 10,11월 보안업데이트 상태의 윈도우에서 /MIR /Dcopy:T를 사용해 내장하드 전체에서 외장하드 최상위주소에 위치한 빈 폴더를 향해 대용량, 많은 디렉터리를 미러링하면 외장하드 내에 생성해 놓은 폴더가 보이지 않는 현상이 있는데, 폴더의 이름을 기억하고 있다면 ex:) d:\name 입력해서 들어가면 파일이 살아있다. 시험한 명령어는 파워셀, cmd 양쪽에서 관리자 권한으로 robocopy /MIR /Dcopy:T /R:5 /W:5 /UNILOG:c:\\user\\log.txt 이다. 원본 내장하드는 d:\\를, 대상 외장하드는 E:\\name과(cmd) F:\\test(파워셀)를 사용했다.
해당 현상은 1809, 1903, wd외장, 삼성외장에서 확인되었다.
위 현상은 드라이브 루트 폴더의 시스템 특성을 그대로 복사해와서 생기는 문제로 복제 완료 후 관리자모드 CMD 창에서

attrib -h -s -a "C:\My hidden folder"

명령어로 복제된 폴더의 특성을 변경하면 숨겨졌던 폴더가 다시 보이게 된다.

2. 사용 방법

2.1. 기본적인 사용 방법

명령 프롬프트에 ROBOCOPY 원본_디렉터리 대상_디렉터리 [추가_옵션] 순서대로 입력하면 된다. 특별히 다른 일이 없으면 대상 디렉터리까지만 적어도 무방하다. 예를 들어 하드/폴더 복사(미러링)를 원한다면 아래 명령을 복사하고 경로를 고쳐서 붙여넣고 엔터 키를 치면 된다.

robocopy "C:\Users\namu" "D:\robobackup\20150101" /MIR /W:20 /R:15 /LOG:"D:\robobackup\log.txt"

단, 처음 사용시 임의의 테스트 폴더를 만들어보고 확인해보길 바라며, 경로를 바꿔 기입하면 모든 데이터를 날려버리는 대참사가 일어나니 주의.

2.2. 추가 옵션

2.2.1. 복사 옵션

복사하는 디렉터리/파일에 특정한 조건을 부여한다.
  • /S: 비어 있는 디렉터리는 제외하고 하위 디렉터리를 복사합니다.
  • /E: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
  • /LEV:n: 원본 디렉터리 트리의 최상위 n개 수준만 복사합니다.
  • /Z: 다시 시작 모드에서 파일을 복사합니다.
  • /B: 백업 모드에서 파일을 복사합니다.
  • /ZB: 다시 시작 모드를 사용합니다. 액세스가 거부된 경우 백업 모드를 사용합니다.
  • /EFSRAW: EFS RAW 모드에서 암호화된 모든 파일을 복사합니다.
  • /COPY:copyflag[s]: 파일에 대해 복사할 내용입니다. 기본값은 /COPY:DAT입니다.
    • copyflags에 들어갈 수 있는 내용
      • D: 데이터
      • A: 특성
      • T: 타임스탬프
      • S: 보안(=NTFS ACL)
      • O: 소유자 정보
      • U: 감사 정보
  • /DCOPY:T: 디렉터리 타임 스탬프를 복사합니다.
  • /SEC: 보안된 파일을 복사합니다. /COPY:DATS와 동일합니다.
  • /COPYALL: 모든 파일 정보를 복사합니다. /COPY:DATSOU와 동일합니다.
  • /NOCOPY: 파일 정보를 복사하지 않습니다. /PURGE와 사용하면 좋습니다.
  • /SECFIX: 건너뛴 파일도 포함하여 모든 파일의 파일 보안을 수정합니다.
  • /TIMFIX: 건너뛴 파일도 포함하여 모든 파일의 파일 시간을 수정합니다.
  • /PURGE: 원본에 없는 대상 파일/디렉터리를 삭제합니다.
  • /MIR: 디렉터리 트리를 미러링합니다. /E + /PURGE와 동일합니다
  • /MOV: 파일을 이동합니다. 복사한 다음 원본에서 삭제합니다.
  • /MOVE: 파일 및 디렉터리를 이동합니다. 복사한 다음 원본에서 삭제합니다.
  • /A+:[RASHCNET]: 제공된 특성을 복사된 파일에 추가합니다.
  • /A-:[RASHCNET]: 제공된 특성을 복사된 파일에서 제거합니다.
  • /CREATE: 디렉터리 트리와 길이가 0인 파일만 만듭니다.
  • /FAT: 8.3 FAT 파일 이름만 사용하여 대상 파일을 만듭니다.
  • /256: 256자를 초과하는 매우 긴 경로에 대한 지원을 사용하지 않습니다.
  • /MON:n: 원본을 모니터링합니다. n개 이상의 변경 내용이 표시된 경우 다시 실행합니다.
  • /MOT:m: 원본을 모니터링합니다. 변경 내용이 있으면 m분 후에 다시실행합니다.
  • /RH:hhmm-hhmm: 실행 시간 - 새 복사본을 시작할 수 있는 시간입니다.
  • /PF: 통과 기준이 아닌 파일당 기준으로 실행 시간을 확인합니다.
  • /IPG:n: 패킷 간 간격(ms), 저속 회선에서 사용 가능한 대역폭을 확보합니다.
  • /SL: 대상에 대한 심볼 링크를 복사합니다.
  • /MT[:n]: n개의 스레드가 있는 다중 스레드를 복사합니다(기본값 8). n은 1 이상 128 이하여야 합니다.
    이 옵션은 /IPG/EFSRAW 옵션과 호환되지 않습니다.
    성능을 향상시키려면 /LOG 옵션을 사용하여 출력을 리디렉션하십시오.

2.2.2. ROBOCOPY 옵션

ROBOCOPY가 복사를 할 때 따로 부여하는 옵션이다.
  • /A: 보관 특성 집합이 있는 파일만 복사합니다.
  • /M: 보관 특성이 있는 파일만 복사하고 보관 특성을 해제합니다.
  • /IA:[RASHCNETO]: 지정된 특성을 가진 파일만 포함합니다.
  • /XA:[RASHCNETO]: 지정된 특성을 가진 파일을 제외합니다.
  • /XF file [file]...: 지정된 이름/경로/와일드카드와 일치하는 파일을 제외합니다.
  • /XD dirs [dirs]...: 지정된 이름/경로/와일드카드와 일치하는 디렉터리를 제외합니다.
  • /XC: 변경된 파일을 제외합니다.
  • /XN: 새 파일을 제외합니다.
  • /XO: 오래된 파일을 제외합니다.
  • /XX: 추가 파일 및 디렉터리를 제외합니다.
  • /XL: 고립된 파일 및 디렉터리를 제외합니다.
  • /IS: 같은 파일을 포함합니다.
  • /IT: 조정된 파일을 포함합니다.
  • /MAX:n: 최대 파일 크기 - n바이트를 초과하는 파일을 제외합니다.
  • /MIN:n: 최소 파일 크기 - n바이트 미만의 파일을 제외합니다.
  • /MAXAGE:n: 최대 파일 사용 기간 - n일/날짜보다 오래된 파일을 제외합니다.
  • /MINAGE:n: 최소 파일 사용 기간 - n일/날짜보다 최신 파일을 제외합니다.
  • /MAXLAD:n: 최대 마지막 액세스 날짜 - n 이후에 사용되지 않은 파일을 제외합니다.
  • /MINLAD:n: 최소 마지막 액세스 날짜 - n 이후에 사용된 파일을 제외합니다.
    n이 1900보다 크면 n은 n일과 같고 그렇지 않으면 n은 YYYYMMDD 날짜입니다.
  • /XJ: 연결 지점을 제외합니다. 일반적으로 기본값으로 포함됩니다.
  • /FFT: FAT 파일 시간(2초 단위)을 가정합니다.
  • /DST: 1시간의 DST 시간 차이를 보완합니다.
  • /XJD: 디렉터리의 연결 지점을 제외합니다.
  • /XJF: 파일의 연결 지점을 제외합니다.
  • /R:n: 실패한 복사본에 대한 다시 시도 횟수입니다. 기본값은 1백만입니다.
  • /W:n: 다시 시도 간 대기 시간입니다. 기본값은 30초입니다.
  • /REG: /R:n/W:n을 레지스트리에 기본 설정으로 저장합니다.
  • /TBD: 정의할 공유 이름을 기다립니다(다시 시도 오류 67).
  • /L: 목록 전용 - 파일을 복사 또는 삭제하거나 타임스탬프를 만들지 않습니다.
  • /X: 선택된 파일을 제외하고 모든 추가 파일을 보고합니다.
  • /V: 자세한 정보 표시를 출력하고 건너뛴 파일을 표시합니다.
  • /TS: 출력에 원본 파일 타임스탬프를 포함합니다.
  • /FP: 출력에 파일의 전체 경로 이름을 포함합니다.
  • /BYTES: 바이트 크기로 인쇄합니다.
  • /NS: 크기 없음 - 파일 크기를 기록하지 않습니다.
  • /NC: 클래스 없음 - 파일 클래스를 기록하지 않습니다.
  • /NFL: 파일 목록 없음 - 파일 이름을 기록하지 않습니다.
  • /NDL: 디렉터리 목록 없음 - 디렉터리 이름을 기록하지 않습니다.
  • /NP: 진행률 없음 - 복사율(%)을 표시하지 않습니다.
  • /ETA: 복사하는 파일의 예상 도착 시간을 표시합니다.
  • /LOG:file: 상태를 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.
  • /LOG+:file: 상태를 로그 파일에 출력합니다. 기존 로그에 추가합니다.
  • /UNILOG:file: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.
  • /UNILOG+:file: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그에 추가합니다.
  • /TEE: 로그 파일과 콘솔 창에 출력합니다.
  • /NJH: 작업 헤더가 없습니다.
  • /NJS: 작업 요약이 없습니다.
  • /UNICODE: 상태를 유니코드로 출력합니다.

2.2.3. ROBOCOPY 작업 옵션

  • /JOB:jobname: 명명된 작업 파일에서 매개 변수를 가져옵니다.
  • /SAVE:jobname: 명명된 작업 파일에 매개 변수를 저장합니다.
  • /QUIT: 매개 변수를 볼 수 있도록 명령줄을 처리한 후에 끝냅니다.
  • /NOSD: 원본 디렉터리가 지정되어 있지 않습니다.
  • /NODD: 대상 디렉터리가 지정되어 있지 않습니다.
  • /IF: 다음 파일을 포함합니다.

3. 응용

응용만 하면 정말 끝없는 발전의 가능성이 있는 내장 프로그램. 게임패치 등의 복사를 쉽게 이용할 수도 있다.
Robocopy "Robust File Copy" - Windows CMD - SS64.com
  1. 파일 이름 길어서 삭제 및 이름 바꾸기가 안 될 경우
    Benoit from SuperUser
파일 이름이 길 경우 윈도우에서 일반적인 삭제 방법으로는 지워지지도 않고 이름도 바꾸지 못해 애를 썩인다(파일 이름이 너무 길어서 최상위 폴더에 복사해도 문제 발생할 시).
파일 이름이 긴 폴더에서 Shift + 마우스 우클릭을 하여 '여기서 명령창 열기(W)'를 클릭한다.
{{{#!syntax markdown
cd ..
mkdir empty
robocopy empty 삭제할폴더이름 /s /mir
rmdir empty
rmdir 삭제할폴더이름
}}}