robocopy
파일 데이터를 한 위치에서 다른 위치로 복사합니다.
구문
robocopy <source> <destination> [<file>[ ...]] [<options>]
예를 들어 c:\reports에서 yearly-report.mov라는 파일을 파일 공유 \\marketing\videos로 복사하는 동시에 성능 향상을 위해 다중 스레딩을 사용하도록 설정하고(/mt 매개 변수 사용) 중단된 경우 전송을 다시 시작할 수 있도록 하려면(/z 매개 변수 사용) 다음을 입력합니다.
robocopy c:\reports "\\marketing\videos" yearly-report.mov /mt /z
Important
디바이스의 루트에서 데이터를 복사하는 경우 대상 디렉터리가 복사 프로세스 중에 "숨겨진" 특성을 채택합니다.
매개 변수
매개 변수 | 설명 |
---|---|
<source> |
원본 디렉터리의 경로를 지정합니다. |
<destination> |
대상 디렉터리의 경로를 지정합니다. |
<file> |
파일 또는 파일을 복사할 수를 지정 합니다. 와일드카드 문자(* 또는 ?)가 지원됩니다. 이 매개 변수를 지정하지 않으면 *.* 이 기본값으로 사용됩니다. |
<options> |
복사, 파일, 다시 시도, 로깅 및 작업 옵션을 포함하여 robocopy 명령에 사용할 옵션을 지정합니다. |
복사 옵션
옵션 | 설명 |
---|---|
/s | 복사본 하위 디렉터리입니다. 이 옵션은 빈 디렉토리를 자동으로 제외합니다. |
/e | 복사본 하위 디렉터리입니다. 이 옵션은 빈 디렉토리를 자동으로 포함합니다. |
/lev:<n> |
소스 디렉터리 트리의 상위 n 수준만 복사합니다. |
/z | 다시 시작 가능한 모드로 파일을 복사합니다. 다시 시작 가능 모드에서 파일 복사가 중단될 경우 robocopy는 전체 파일을 다시 복사하지 않고 중단한 위치에서 다시 시작할 수 있습니다. |
/b | 백업 모드에서 파일을 복사합니다. 백업 모드에서 robocopy는 액세스를 차단할 수 있는 파일 및 ACL(폴더 권한 설정)을 재정의합니다. |
/zb | 다시 시작 가능한 모드로 파일을 복사합니다. 파일 액세스가 거부되면 백업 모드로 전환됩니다. |
/j | 버퍼 없는 I/O를 사용하여 복사합니다(대용량 파일에 권장됨). |
/efsraw | EFS RAW 모드에서 모든 암호화 된 파일을 복사합니다. |
/copy:<copyflags> |
복사할 파일 속성을 지정합니다. 이 옵션에 유효한 값은 다음과 같습니다.
|
/dcopy:<copyflags> |
디렉터리에서 복사할 항목을 지정합니다. 이 옵션에 유효한 값은 다음과 같습니다.
|
/sec | 보안 파일을 복사 (동일 /copy:DATS). |
/copyall | 모든 파일 정보 복사 (동일 /copy:DATSOU). |
/nocopy | 복사 하는 파일 정보가 없습니다 (유용 제거/). |
/secfix | 모든 파일에 대 한 파일 보안 픽스는 스토리를 건너뜁니다. |
/timfix | 모든 파일에 대해 파일 시간을 수정 된 건너뜁니다. |
/purge | 더 이상 원본에 존재 하는 대상 파일 및 디렉터리를 삭제 합니다. /e 옵션 및 대상 디렉터리와 함께 이 옵션을 사용하면 대상 디렉터리 보안 설정을 덮어쓰지 않을 수 있습니다. |
/mir | 디렉터리 트리를 미러링합니다 (동일 /e plus 제거/). /e 옵션 및 대상 디렉터리와 함께 이 옵션을 사용하면 대상 디렉터리 보안 설정을 덮어씁니다. |
/mov | 파일을 이동하고 복사한 후 원본에서 삭제합니다. |
/move | 파일과 디렉터리를 이동하고 복사한 후 원본에서 삭제합니다. |
/a +: [RASHCNET] | 복사 된 파일에 지정 된 특성을 추가합니다. 이 옵션에 유효한 값은 다음과 같습니다.
|
/a-:[RASHCNETO] | 복사 된 파일에서 지정 된 특성을 제거합니다. 이 옵션에 유효한 값은 다음과 같습니다.
|
만들기 / | 디렉터리 트리 및 길이가 0 인 파일만 만듭니다. |
fat / | 8.3 문자 길이 FAT 파일 이름을 사용 하 여 대상 파일을 만듭니다. |
/256 | 256자보다 긴 경로에 대한 지원을 해제합니다. |
/mon:<n> |
소스를 모니터링하고 n 이상의 변경 내용이 감지되면 다시 실행합니다. |
/mot:<m> |
소스를 모니터링하고 변경 내용이 감지되면 m분 내에 다시 실행합니다. |
/rh:hhmm-hhmm | 새 복사본을 시작할 수 있는 실행 시간을 지정합니다. |
/pf | 패스당이 아닌 파일당 실행 시간을 확인합니다. |
/ipg:<n> |
저속 회선에서의 대역폭을 확보 하는 패킷 간 간격을 지정 합니다. |
/sj | 링크 대상 대신 대상 경로에 접합(소프트 링크)을 복사합니다. |
/sl | 기호 링크를 따르지 않는 대신 링크의 복사본을 만듭니다. |
/mt:<n> |
n 스레드로 다중 스레드 복사본을 만듭니다. n은 1~128 사이의 정수여야 합니다. n의 기본값은 8입니다. 더 나은 성능을 위해 /log 옵션을 사용하여 출력을 리디렉션합니다. /mt 매개 변수는 /ipg 및 /efsraw 매개 변수와 함께 사용할 수 없습니다. |
/nodcopy | 디렉터리 정보를 복사하지 않습니다(기본 /dcopy:DA가 완료됨). |
/nooffload | Windows 복사 오프로드 메커니즘을 사용하지 않고 파일을 복사합니다. |
/compress | 해당하는 경우 파일 전송 중에 네트워크 압축을 요청합니다. |
/sparse:<y|n> |
복사 프로세스 중 파일의 희소 상태를 유지할지 유지하지 않을지 여부를 설정합니다. 옵션을 선택하지 않으면 기본적으로 예(사용)로 설정됩니다. |
/noclone | 블록 복제를 최적화로 시도하지 않습니다. |
Important
/secfix 복사 옵션을 사용하는 경우 다음 추가 복사 옵션 중 하나를 사용하여 복사할 보안 정보 유형을 지정합니다.
- /copyall
- /copy:o
- /copy:s
- /copy:u
- /sec
참고 항목
/mt 매개 변수는 Windows Server 2008 R2에서 도입되었으며 해당 기능은 현재 버전의 Windows Server에 적용됩니다.
파일 제한 옵션 복사
옵션 | 설명 |
---|---|
/iomaxsize:<n> [kmg] |
읽기/쓰기 주기당 요청된 최대 i/o 크기(n kilobytes, megabytes 또는 gigabytes)입니다. |
/iorate:<n> [kmg] |
요청된 i/o 속도(초당 n kilobytes megabytes 또는 gigabytes)입니다. |
/threshold:<n> [kmg] |
파일 크기 제한 임계값은 n kilobytes, megabytes 또는 gigabytes(비고 참조)입니다.. |
이러한 제한 옵션은 Robocopy에서 초당 바이트 단위로 사용할 수 있는 최대 I/O 대역폭을 지정하는 데 사용됩니다. 초당 바이트 단위로 지정하지 않으면 k, m 또는 g가 지정된 경우 정수를 사용할 수 있습니다. 제한된 최소 I/O 대역폭은 더 작은 값이 지정된 경우에도 524288바이트입니다.
파일 선택 옵션
옵션 | 설명 |
---|---|
/a | 있는 파일만 복사는 보관 특성이 설정 되어 있습니다. |
/m | 있는 파일만 복사는 보관 특성을 설정 하 고 다시 설정 된 보관 특성입니다. |
/ia:[RASHCNETO] |
지정된 된 특성의 모든 설정 되어 있는 파일만 포함 됩니다. 이 옵션에 유효한 값은 다음과 같습니다.
|
/xa:[RASHCNETO] |
지정된 된 특성의 모든 설정 되는 파일을 제외 합니다. 이 옵션에 유효한 값은 다음과 같습니다.
|
/xf <filename>[ ...] |
지정 된 이름이 나 경로 일치 하는 파일을 제외 합니다. 와일드카드 문자(* 및 ?)가 지원됩니다. |
/xd <directory>[ ...] |
지정 된 이름 및 경로가 일치 하는 디렉터리를 제외 합니다. |
/xc | 타임스탬프가 동일하지만 파일 크기가 다른 기존 파일을 제외합니다. |
/xn | 대상보다 최신의 원본 디렉터리 파일은 복사본에서 제외됩니다. |
/xo | 대상보다 이전인 원본 디렉터리 파일은 복사본에서 제외됩니다. |
/xx | 원본이 아닌 대상에 있는 추가 파일 및 디렉터리를 제외합니다. 추가 파일을 제외해도 대상에서 파일이 삭제되지는 않습니다. |
/xl | 대상이 아닌 원본에 있는 "빈" 파일 및 디렉터리를 제외합니다. 빈 파일을 제외하면 새 파일이 대상에 추가되지 않습니다. |
/im | 수정된 파일을 포함합니다(변경 시간이 다를 수 있음). |
/is | 동일한 파일에 포함 되어 있습니다. 동일한 파일은 이름, 크기, 시간 및 모든 특성에서 동일합니다. |
/it | "조정" 파일을 포함 합니다. 조정된 파일의 이름, 크기 및 시간은 같지만 특성은 다릅니다. |
/max:<n> |
최대 파일 크기를 지정합니다(n바이트보다 큰 파일을 제외하기 위해). |
/min:<n> |
최소 파일 크기를 지정합니다(n바이트보다 작은 파일을 제외하기 위해). |
/maxage:<n> |
최대 파일 보존 기간을 지정합니다(n일 또는 날짜보다 오래된 파일을 제외하기 위해). |
/minage:<n> |
최소 파일 보존 기간을 지정합니다(n일 또는 날짜보다 최신 파일 제외). |
/maxlad:<n> |
최대 마지막 액세스 날짜를 지정합니다(n 이후 사용되지 않은 파일 제외). |
/minlad:<n> |
최소 마지막 액세스 날짜를 지정합니다(n 이후 사용되는 파일 제외). n이 1900보다 작은 경우 n은 일 수를 지정합니다. 그렇지 않으면 n은 YYYYMMDD 형식으로 날짜를 지정합니다. |
/xj | 기본적으로 일반적으로 포함 된 연결 지점에서 제외 됩니다. |
/fft | FAT 파일 (2 초 전체 자릿수) 시간을 가정합니다. |
/dst | 1 시간 짜리 DST 시간 차이를 보정합니다. |
/xjd | 디렉터리에 대 한 연결 지점을 제외합니다. |
/xjf | 파일에 대 한 연결 지점을 제외합니다. |
옵션을 다시 시도 하십시오.
옵션 | 설명 |
---|---|
/r:<n> |
실패 한 복사에 대 한 재시도 횟수를 지정합니다. n의 기본값은 1,000,000(100만 회의 재시도)입니다. |
/w:<n> |
다시 시도 시간 (초)에서 사이의 대기 시간을 지정합니다. n의 기본값은 30(대기 시간 30초)입니다. |
/reg | 에 지정 된 값을 저장 된 /r 및 /w 레지스트리에서 기본 설정으로 옵션입니다. |
/tbd | 시스템이 공유 이름이 정의될 때까지 대기하도록 지정합니다(재시도 오류 67). |
/lfsm | 복사, 일시 중지 및 다시 시작할 수 있는 낮은 여유 공간 모드에서 작동합니다(비고 참조). |
/lfsm:<n> [kmg] |
바닥 크기를 n kilobytes, megabytes 또는 gigabytes 단위로 지정합니다. |
로깅 옵션
옵션 | 설명 |
---|---|
/l | 파일이 나열 될 지 지정 합니다 (및 복사 되지 않으며, 삭제 또는 타임 스탬프). |
/x | 선택한 파일뿐만 아니라 모든 추가 파일을 보고합니다. |
/v | 자세한 정보 출력을 생성 하 고 건너뛴된 파일을 모두를 보여 줍니다. |
/ts | 출력 소스 파일 타임 스탬프를 포함합니다. |
/fp | 출력 파일의 전체 경로 이름을 포함합니다. |
/bytes | 바이트 형식으로 크기를 인쇄합니다. |
/ns | 파일 크기를 기록하지 않도록 지정합니다. |
/nc | 파일 클래스를 기록하지 않도록 지정합니다. |
/nfl | 기록할 파일 이름을 지정합니다. |
/ndl | 디렉터리 이름이 기록되지 않도록 지정합니다. |
/np | 복사 작업의 진행률(지금까지 복사된 파일 또는 디렉터리의 수)이 표시되지 않도록 지정합니다. |
/eta | 복사 된 파일의 (ETA) 도착 예상된 시간을 보여 줍니다. |
/log:<logfile> |
(기존 로그 파일을 덮어씀) 하는 로그 파일에 상태 출력에 씁니다. |
/log+:<logfile> |
(기존 로그 파일에 출력 추가) 하는 로그 파일에 상태 출력에 씁니다. |
/unilog:<logfile> |
상태 출력을 유니코드 텍스트로 로그 파일에 씁니다(기존 로그 파일을 덮어씀). |
/unilog+:<logfile> |
(기존 로그 파일에 출력 추가) 하는 유니코드 텍스트로 출력 로그 파일에 상태를 씁니다. |
/tee | 상태 출력을 콘솔 창과 로그 파일에 씁니다. |
/njh | 작업 헤더가 없음을 지정합니다. |
/njs | 작업 요약이 없음을 지정합니다. |
/unicode | 유니코드 텍스트로 상태 출력을 표시합니다. |
작업 옵션
옵션 | 설명 |
---|---|
/job:<jobname> |
매개 변수 명명 된 작업 파일에서 파생 시 키도 록 지정 합니다. /job:jobname 을 실행하려면 먼저 /save:jobname 매개 변수를 실행하여 작업 파일을 만들어야 합니다. |
/save:<jobname> |
매개 변수를 명명 된 작업 파일에 저장 되도록 지정 합니다. 이는 /job:jobname 을 실행하기 전에 실행해야 합니다. 이 매개 변수 앞에 모든 복사, 다시 시도 및 로깅 옵션을 지정해야 합니다. |
종료 / | 후 처리 (보려면 명령줄에 매개 변수)를 종료 합니다. |
/nosd | 원본 디렉터리가 지정 되었음을 나타냅니다. |
/nodd | 대상 디렉터리가 지정 되었음을 나타냅니다. |
/if | 지정된 된 파일에 포함 되어 있습니다. |
설명
이전에 볼륨의 루트 디렉터리에서 /PURGE 또는 /MIR을 사용하면 robocopy가 시스템 볼륨 정보 디렉터리 내의 파일에도 요청된 작업을 적용했습니다. 둘 중 하나를 지정하면 robocopy가 복사 세션의 최상위 원본 및 대상 디렉터리에서 해당 이름의 파일 또는 디렉터리를 건너뛰므로 더 이상 그렇지 않습니다.
수정된 파일 분류는 원본 및 대상 파일 시스템이 NTFS와 같은 변경 타임스탬프를 지원하고 원본 및 대상 파일의 변경 시간이 다르지만 그 외에는 동일한 경우에만 적용됩니다. 이러한 파일은 기본적으로 복사되지 않습니다. 이를 포함하려면 /IM을 지정합니다.
/DCOPY:E 플래그는 디렉터리에 대해 확장된 특성 복사를 시도하도록 요청합니다. 디렉터리의 EA를 복사할 수 없는 경우 Robocopy가 계속됩니다. 이 플래그는 /COPYALL에 포함되지 않습니다.
/IoMaxSize 또는 /IoRate가 지정된 경우 robocopy를 사용하면 복사 파일 제한이 가능하여 시스템 부하를 줄일 수 있습니다. 둘 다 최적 값 및 복사 매개 변수로 조정할 수 있지만 시스템 및 robocopy는 필요에 따라 허용되는 값으로 조정할 수 있습니다.
/Threshold를 사용하는 경우 제한을 적용하기 위한 최소 파일 크기를 지정합니다. 해당 크기 미만의 파일은 제한되지 않습니다. 세 매개 변수의 값 뒤에 [KMG](킬로바이트, 메가바이트, 기가바이트)와 같은 선택적 접미사 문자가 올 수 있습니다.
/LFSM을 사용하면 robocopy가 '낮은 여유 공간 모드'에서 작동하도록 요청합니다. 이 모드에서 robocopy는 파일 복사로 인해 대상 볼륨의 사용 가능한 공간이 'floor' 값 아래로 내려갈 때마다 일시 중지됩니다. 이 값은 /LFSM:n[KMG] 플래그를 사용하여 명시적으로 지정할 수 있습니다.
/LFSM이 명시적 floor 값 없이 지정된 경우 floor는 대상 볼륨 크기의 10%로 설정됩니다. 낮은 여유 공간 모드는 /MT 및 /EFSRAW와 호환되지 않습니다.
종료(반환) 코드
값 | 설명 |
---|---|
0 | 파일이 복사되지 않았습니다. 오류가 발생하지 않았습니다. 일치하지 않는 파일이 없습니다. 파일이 대상 디렉터리에 이미 있기 때문에 복사 작업을 건너뛰었습니다. |
1 | 모든 파일이 성공적으로 복사되었습니다. |
2 | 원본 디렉터리에 없는 일부 추가 파일이 대상 디렉터리에 있습니다. 파일이 복사되지 않았습니다. |
3 | 일부 파일이 복사되었습니다. 추가 파일이 있었습니다. 오류가 발생하지 않았습니다. |
5 | 일부 파일이 복사되었습니다. 일부 파일이 일치하지 않습니다. 오류가 발생하지 않았습니다. |
6 | 추가 파일 및 일치하지 않는 파일이 있습니다. 파일이 복사되지 않았고 실패가 발생하지 않았습니다. 즉, 파일이 대상 디렉터리에 이미 존재합니다. |
7 | 파일이 복사되고, 파일이 일치하지 않으며, 추가 파일이 존재했습니다. |
8 | 여러 파일이 복사되지 않았습니다. |
참고 항목
8보다 크거나 같은 값은 복사 작업 중에 하나 이상의 오류가 발생했음을 나타냅니다.
예제
robocopy
명령을 실행하여 프로세스가 무결성 확인을 완료하면 볼 수 있는 로그 파일을 만드는 것이 좋습니다. 다음 예제에서는 각각 /LOG:
매개 변수를 사용합니다. 로그 정보를 동일한 로그 파일에 추가하려면 대신 /LOG+:
매개 변수를 사용합니다.
빈 디렉터리를 포함한 모든 파일 및 하위 디렉터리를 "Records" 폴더에서 "D" 드라이브의 "Backup" 폴더로 복사하려면 다음을 입력합니다.
robocopy C:\Users\Admin\Records D:\Backup /E /ZB /LOG:C:\Logs\Backup.log
"Records" 폴더의 내용을 "D" 드라이브의 "Backup" 폴더에 미러링하려면 2번의 재시도와 각 재시도 사이에 5초 동안 대기하면서 원본에 없는 대상의 파일을 삭제하고 다음을 입력합니다.
robocopy C:\Users\Admin\Records D:\Backup /MIR /R:2 /W:5 /LOG:C:\Logs\Backup.log
"Records" 폴더에서 비어 있지 않은 모든 파일 및 하위 디렉터리를 "D" 드라이브의 "Backup" 폴더로 복사하고 16개의 다중 스레드 복사 작업으로 파일 데이터, 특성 및 타임스탬프를 유지하려면 다음을 입력합니다.
robocopy C:\Users\Admin\Records D:\Backup /S /E /COPY:DAT /MT:16 /LOG:C:\Logs\Backup.log
빈 디렉터리를 제외한 파일 및 하위 디렉터리를 "Records" 폴더에서 "D" 드라이브의 "Backup" 폴더로 이동하고 7일보다 오래된 파일을 제외하려면 다음을 입력합니다.
robocopy C:\Users\Admin\Records D:\Backup /S /MAXAGE:7 /MOV /LOG:C:\Logs\Backup.log
빈 디렉터리를 포함한 모든 파일 및 하위 디렉터리를 "Records" 폴더에서 "D" 드라이브의 "Backup" 폴더로 복사하여 각 파일의 예상 시간을 표시하고 원본에서 존재하지 않는 대상의 파일 및 디렉터리를 삭제하려면 다음을 입력합니다.
robocopy C:\Users\Admin\Records D:\Backup /ETA /PURGE /LOG:C:\Logs\Backup.log
복사 작업 중에 I/O 속도를 초당 1MB로 제한하면서 "C" 드라이브의 "Records" 폴더에서 "D" 드라이브의 "Backup"이라는 폴더로 모든 파일 및 하위 디렉터리를 복사하려면 다음을 입력합니다.
robocopy C:\Records D:\Backup /iorate:1m