맨위로가기

Robocopy

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Robocopy는 마이크로소프트 윈도우에 내장된 강력한 파일 복사 유틸리티로, copy 및 XCOPY 명령어의 기능을 향상시킨다. 네트워크 중단 시 복구, NTFS 정션 포인트 건너뛰기, 파일 정보 보존, 관리자 권한 복사, 자동 재시도, 미러링, 파일 건너뛰기, 진행률 표시, 긴 경로 지원, 멀티스레드 복사, 배치 파일 반환 코드 등 다양한 기능을 제공한다. 윈도우 서버 2019 및 윈도우 10부터는 SMB 압축을 지원하여 파일 전송 속도를 향상시켰다. 명령줄 인터페이스를 사용하며, GUI 프런트 엔드도 존재한다.

더 읽어볼만한 페이지

  • 파일 복사 유틸리티 - Copy (명령어)
    `copy`는 팀 패터슨의 SCP 86-DOS에서 처음 지원되어 MS-DOS를 비롯한 다양한 운영 체제에서 파일 복사, 이동, 백업 등에 사용되는 명령어이며, 유닉스 계열의 `cp`나 CP/M의 `PIP`와 유사한 기능을 수행한다.
  • 파일 복사 유틸리티 - Cp (유닉스)
    cp는 유닉스 운영체제에서 파일을 복사하는 데 사용되는 명령어로, 파일이나 디렉터리를 복사하고 다양한 옵션을 통해 복사 동작을 제어한다.
Robocopy - [IT 관련 정보]에 관한 문서
개요
유형명령 줄 인터페이스
개발사마이크로소프트
운영 체제윈도우 NT 4 이상
최초 출시1996년
라이선스프리웨어
상세 정보
다른 이름윈도우용 강력한 파일 복사
포함윈도우 비스타 이상
웹사이트Robocopy 공식 웹사이트

2. 기능

Robocopy는 윈도우에 내장된 copy와 XCOPY 명령어에 비해 다음과 같은 기능을 제공한다.[26][27][28]


  • 네트워크 간섭 시 복사 재개: 네트워크 연결이 끊어져도 복사를 계속할 수 있다.
  • NTFS 정션 포인트 건너뛰기: 무한 루프를 방지한다.
  • 파일 속성 및 정보 보존: 타임스탬프, NTFS ACL, 소유자 정보 등을 복사한다.
  • 관리자 권한 복사: 읽기 거부된 파일도 복사 가능하다.
  • 자동 재시도: 파일을 열 수 없을 때 자동으로 다시 시도한다.
  • 미러 모드: 원본과 대상 디렉터리를 동기화한다.
  • 동일 파일 건너뛰기: 이미 있는 파일은 건너뛴다.
  • 진행 표시기 제공: 명령 줄에 진행 상황을 표시한다.
  • 긴 경로 지원: 259자 초과 경로도 복사 가능하다.
  • 멀티스레드 복사 지원: 여러 파일을 동시에 복사한다.
  • 반환 코드 제공: 배치 파일에서 결과를 확인할 수 있다.

2. 1. 핵심 기능

Robocopy는 다음과 같은 핵심 기능을 제공한다.

  • 네트워크 연결이 일시적으로 끊어져도 복사를 중단하지 않고, 연결이 복구되면 자동으로 이어서 복사를 진행한다. 불완전한 파일은 1970-01-01 타임스탬프로 표시된다.[26]
  • NTFS 정션 포인트를 건너뛰어 무한 루프 등으로 인한 복사 오류를 방지한다. (`/XJ` 옵션)[26]
  • 파일 데이터, 속성, 메타데이터(타임스탬프, NTFS ACL, 소유자 정보, 감사 정보)를 정확하게 복사한다. (`/COPYALL` 또는 `/COPY:` 옵션) `/DCOPY:T` 옵션(이후 버전)을 사용하면 폴더의 타임스탬프도 복사할 수 있다.[26]
  • 윈도우 NT "백업 권한"을 사용하여 관리자에게 읽기가 거부된 파일도 복사할 수 있다. (`/B` 옵션)[26]
  • 파일을 열 수 없는 경우, 지정된 횟수만큼 자동으로 재시도를 수행한다. (기본값: 100만 번)[26]
  • 원본에 없는 파일을 대상에서 삭제하여 두 디렉터리 구조를 동일하게 유지하는 미러(mirror) 모드를 지원한다. (`/MIR` 옵션)[26]
  • 대상 폴더에 이미 존재하는 동일한 크기와 타임스탬프의 파일을 건너뛰어 복사 시간을 단축한다.[26]
  • 지속적으로 업데이트되는 명령 줄 진행 표시기를 제공한다.[26]
  • 259자를 초과하는 경로도 오류 없이 복사 가능하다. (이론적 제한: 약 32,000자)[26]
  • 여러 파일을 동시에 복사하여 속도를 향상시키는 멀티스레드 복사를 지원한다. (윈도우 7, 윈도우 서버 2008 R2 이상, `/MT[:n]` 옵션)[27]
  • 배치 파일 등 자동화 스크립트에서 Robocopy 실행 결과를 확인할 수 있는 반환 코드를 제공한다.[28]

2. 2. 윈도우 서버 2019 및 윈도우 10 추가 기능

윈도우 서버 2019윈도우 10부터 Robocopy는 네트워크를 통해 파일을 전송하기 위해 SMB 압축을 지원한다. `/compress` 옵션을 지정하고 대상 컴퓨터가 SMB 압축을 지원하며 복사할 파일이 압축 가능한 경우, 상당한 성능 향상을 얻을 수 있다. SMB 압축은 파일 전송에 인라인 공백 압축을 추가한다. 압축은 `XCOPY` 명령 및 SMB를 사용한 Hyper-V 라이브 마이그레이션에서도 사용할 수 있다.[7][8]

3. 사용 예시

Robocopy 명령어는 대소문자를 구분하지 않으며, 여러 옵션을 지정할 때는 공백으로 구분한다.[9]

'''예시:''' 디렉터리를 재귀적으로 복사하고(`/E`), 모든 파일 정보(`/COPYALL`, `/COPY:DATSOU`와 동일, `D`=데이터, `A`=속성, `T`=타임스탬프, `S`=보안=NTFS ACL, `O`=소유자 정보, `U`=감사 정보)를 복사하며, 잠긴 파일은 다시 시도하지 않는다(`/R:0`)(실패한 복사 시도의 기본값은 100만). 원본 디렉터리의 타임스탬프를 유지한다(`/DCOPY:T` - 버전 XP026 이상 필요).

:Robocopy C:\A C:\B /COPYALL /E /R:0 /DCOPY:T

3. 1. 기본 복사

원본 디렉터리 A의 내용을 대상 디렉터리 B로 복사한다(파일 데이터, 속성, 타임스탬프 포함). 빈 디렉터리를 포함하여 복사하려면 `/E` 옵션을 사용한다. 디렉터리 이름에 공백 등이 있으면 큰따옴표로 묶어야 한다.[9]

:

Robocopy "C:\Directory A" "C:\Directory B" /E


3. 2. 고급 복사

다음은 사용 예시이며 대소문자를 구분하지 않는다. 둘 이상의 옵션을 지정하는 경우 공백으로 구분해야 한다.

  • 디렉터리를 재귀적으로 복사하고(`/E`), 모든 파일 정보(`/COPYALL`, `/COPY:DATSOU`와 동일, `D`=데이터, `A`=속성, `T`=타임스탬프, `S`=보안=NTFS ACL, `O`=소유자 정보, `U`=감사 정보)를 복사하며, 잠긴 파일은 다시 시도하지 않는다(`/R:0`)(실패한 복사 시도의 기본값은 100만). 원본 디렉터리의 타임스탬프를 유지한다(`/DCOPY:T` - 버전 XP026 이상 필요).

3. 3. 미러링

Directory A영어를 Directory B영어에 미러링한다. Directory A영어에 없는 Directory B영어의 모든 파일을 삭제(`/MIR`)하고, 네트워크 연결이 끊어진 경우 파일 복구를 재개(`/Z`)하는 명령어는 다음과 같다.[9]

:Robocopy C:\A \\backupserver\B /MIR /Z

3. 4. 파일 필터링

Robocopy는 파일 복사 기능을 제공하는 명령줄 도구이다. 다음은 사용 예시이며, 대소문자를 구분하지 않는다. 둘 이상의 옵션을 지정하는 경우 공백으로 구분해야 한다.

;예시 1

: 원본 디렉토리의 내용을 대상 디렉토리로 복사한다(파일 데이터, 속성 및 타임스탬프 포함). 빈 디렉토리를 포함하여 재귀적으로 수행한다(/E):

:Robocopy "C:\Directory A" "C:\Directory B" /E

: 디렉토리 이름에 공백과 같은 표준이 아닌 문자가 있는 경우, 명령줄에서 흔히 사용되는 것처럼 큰따옴표로 묶어야 한다.

;예시 2

: 디렉토리를 재귀적으로 복사하고(/E), 모든 파일 정보(/COPYALL, /COPY:DATSOU와 동일하며, D=데이터, A=속성, T=타임스탬프, S=보안=NTFS ACL, O=소유자 정보, U=감사 정보)를 복사하며, 잠긴 파일은 다시 시도하지 않는다(/R:0)(실패한 복사 시도의 기본값은 100만). 원본 디렉토리의 타임스탬프를 유지한다(/DCOPY:T - 버전 XP026 이상 필요):

:Robocopy C:\A C:\B /COPYALL /E /R:0 /DCOPY:T

;예시 3

: A를 B에 미러링하여 A에 없는 B의 모든 파일을 삭제한다(/MIR). 네트워크 연결이 끊어진 경우 파일 복구를 재개한다(/Z):

:Robocopy C:\A \\backupserver\B /MIR /Z

전체 참조는 Microsoft TechNet Robocopy 페이지를 참조한다.[9]

4. 구문 관련 주의 사항

Robocopy 구문은 이전 버전인 copy 및 xcopy와는 상당히 다르며, 소스 및 대상 인수로 폴더 이름만 허용하며, 후행 백슬래시는 허용하지 않는다. 파일 이름과 와일드카드 문자(예: *?)는 소스 또는 대상 인수로 유효하지 않다. 파일은 선택적 "file" 필터링 인수(와일드카드 지원)와 다양한 다른 옵션을 사용하여 선택하거나 제외할 수 있다.[10]

예를 들어, `c:\bar` 폴더에서 `c:\baz` 폴더로 두 개의 파일을 복사하려면 다음 구문을 사용한다.

```bat

robocopy c:\bar c:\baz file1.txt file2.db

```

`c:\bar`에서 `c:\baz`로 모든 PDF 파일을 복사하려면 다음을 사용한다.

```bat

robocopy c:\bar c:\baz *.pdf

```

이름이 지정된 파일은 복사를 위해 선택한 폴더에서만 복사된다. 전체 경로 이름은 지원되지 않는다.

주의: Robocopy의 오랜 문제로 인해 드라이브의 루트 폴더에서 백업하는 경우(예: `robocopy d:\ b:\d-backup\ ....`) 대상 파일에 SH를 포함한 속성이 부여된다. 즉, 일반적인 액세스(cmd.exe의 DIR 포함)에서 보이지 않게 된다. 이를 해결하려면 robocopy 명령줄에 `/a-:SH`를 추가하거나 나중에 ATTRIB 명령을 사용하여 제거한다.

5. 출력

Robocopy는 화면이나 로그 파일(선택 사항)에 모든 디렉터리의 이름을 알파벳순으로 출력한다. 각 이름 앞에는 복사 조건을 충족하는 디렉터리의 파일 수가 표시된다. 대상에 디렉터리가 아직 존재하지 않으면 "새 디렉터리"로 표시된다. 디렉터리가 비어 있고 `/E` 옵션이 사용되지 않거나 조건에 맞는 파일이 없는 경우, 새 디렉터리가 생성되지 않는다.

`/NFL`(로그에 파일 이름 없음) 옵션을 사용하지 않으면 복사되는 파일이 해당 디렉터리 이름 뒤에 나열된다.

출력의 끝에는 디렉터리, 파일 및 바이트 수에 대한 표가 제공된다. 표에는 소스에서 찾은 총 수, ''복사된'' 수(복사되지 않더라도 "새 디렉터리"로 표시된 디렉터리 포함), 대상에 이미 존재하기 때문에 ''건너뛴'' 수, ''불일치'', ''실패'', ''추가'' 수가 각 항목별로 표시된다. "실패"는 파일 복사를 방해하는 I/O 오류가 있었거나 액세스가 거부되었음을 의미할 수 있다. 또한 소요 시간 행이 있다(실패한 파일에 소요된 시간은 잘못된 열에 있는 것으로 보임).

6. 대역폭 제한

Robocopy의 "패킷 간 간격"(IPG) 옵션을 사용하면 네트워크 대역폭 사용을 어느 정도 제어할 수 있다. 이론적으로 다음 공식으로 사용 가능한 대역폭이 B_A(kbps)인 네트워크 링크에서 원하는 대역폭(B_D, kbps)을 시뮬레이션하는 데 필요한 지연 시간(D, 밀리초)을 표현할 수 있다.

:D = {B_A - B_D \over B_A \times B_D} \times 512 \times 1000

그러나 실제로는 네트워크의 다른 트래픽 특성 및 양과 같은 요인으로 인해 적절한 지연 시간을 찾기 위해 약간의 실험이 필요하다. IPG 옵션에서 사용되는 방법은 BITS(윈도우 업데이트 등에서 사용됨)와 같은 다른 일부 대역폭 제한 기술에서 제공하는 것과 동일한 수준의 제어를 제공하지 못할 수 있다.

7. 한계


  • 로보카피는 열린 파일을 복사하지 않는다. 어떤 프로세스든 파일을 열 때 `FILE_SHARE_READ`[11] 플래그를 사용하지 않음으로써 독점적인 읽기 권한을 가질 수 있다. 일반적으로 이러한 상황에는 볼륨 섀도 복사 서비스(VSS)가 사용되지만, 로보카피는 이를 사용하지 않는다. 따라서 로보카피는 라이브 운영 체제 볼륨을 백업하는 데 적합하지 않다. 그러나 ShadowSpawn[12] (MIT 라이선스) 또는 DiskShadow[13] (Windows Server 2008)와 같은 별도의 유틸리티를 사용하여 먼저 지정된 볼륨의 섀도 복사본을 만든 다음, 로보카피로 백업할 수 있다.

  • Windows Vista 이전 버전의 시스템에서 로보카피는 제대로 미러링하지 않는다. 이들은 이전에 미러링된 파일의 변경된 보안 속성을 무시한다.[14][15]

  • 다중 스레드 복사를 활성화하기 위해 `/MT[:n]` 옵션을 지정하면 파일 진행률 백분율 보고를 비활성화하는 `/NP` 옵션이 무시된다. 기본적으로 MT 스위치는 8개의 스레드를 제공한다. n은 기본값을 사용하지 않으려는 경우 지정하는 스레드 수이다.[16]

8. GUI

Robocopy는 기본적으로 명령 줄 도구이지만, 다양한 GUI 프런트 엔드가 존재한다. 마이크로소프트 테크넷에서 Robocopy GUI라는 GUI를 제공했다. 이 GUI는 마이크로소프트 MSN 검색 그룹의 시스템 엔지니어인 데르크 베니쉬가 개발했으며, .NET Framework 2.0이 필요했다.[17] Robocopy GUI에는 Robocopy 버전 XP026이 포함되어 있었다. 현재는 마이크로소프트에서 더 이상 제공하지 않지만, 인터넷 아카이브웨이백 머신에서 다운로드할 수 있다.[18]

Robocopy를 위한 비 마이크로소프트 GUI는 다음과 같다.

프로그램명개발사버전출시일비고
RoboCopy GUIPC 어시스트 소프트웨어v3.02024년 4월 19일작업 스케줄링 포함[19]
ChoEazyCopyCinchoov2.0.0.12022년 3월 11일간단하고 강력한 RoboCopy GUI[20]
Easy RoboCopy(불명)v1.0.162022년 1월 11일[21]
WinRoboCopy(불명)v1.3.5953.408962016년 4월 19일[22]
RoboCop RoboCopy(불명)(불명)2015년 9월 10일진행 상황 모니터링 기능이 있는 Robocopy GUI 스킨 및 스크립트 생성기[23]
Robocopy GUISH-Softv1.0.0.242005년 10월 8일[24]



마이크로소프트의 켄 타마루는 Robocopy와 유사한 기능을 가진 복사 프로그램인 RichCopy를 개발했지만, 2010년에 단종되었다. RichCopy는 Robocopy를 기반으로 하지 않으며, .NET Framework가 필요하지 않다.[25]

9. 버전

Robocopy의 여러 버전은 명령 줄에서 `robocopy /?`를 실행할 때 버전 번호를 표시하지 않는다. 그러나 실행 파일 자체에는 버전이 저장되어 있으며, 파일 탐색기 또는 PowerShell (`gcm robocopy | fl *`)을 통해 확인할 수 있다.

제품 버전파일 버전연도기원기타
1.70-1997Windows NT Resource Kit
1.714.0.1.711997Windows NT Resource Kit
1.954.0.1.951999Windows 2000 Resource Kit
1.964.0.1.961999Windows 2000 Resource Kit© 1995-1997
XP0105.1.1.10102003Windows 2003 Resource Kit
XP0265.1.2600.262005Robocopy GUI v.3.1.2와 함께 다운로드
XP0275.1.10.10272008다음에 기본 포함: Windows Vista, Server 2008, Windows 7, Server 2008r2© 1995-2004
6.16.1.76012009[http://support.microsoft.com/kb/2639043 KB2639043]© 2009
6.26.2.92002012다음에 기본 포함: Windows 8© 2012
6.36.3.96002013다음에 기본 포함: Windows 8.1© 2013
10.010.0.10240.163842015다음에 기본 포함: Windows 10© 2015



제품 버전파일 버전연도함께 제공됨
1.541996Windows NT 4.0 Resource Kit
1.701997Windows NT Resource Kit
1.714.0.1.711997Windows NT Resource Kit
1.954.0.1.951999Windows 2000 Resource Kit
1.964.0.1.961999Windows 2000 Resource Kit
XP0105.1.1.10102003Windows 2003 Resource Kit
XP0265.1.2600.262005Robocopy GUI v.3.1.2
XP0275.1.10.10272008Windows Vista, Server 2008, 7, 2008 R2
6.16.1.76012009[http://support.microsoft.com/kb/2639043 KB2639043]
Windows 8 이상, Windows Server 2012 이상


참조

[1] 웹사이트 AMA with Dave Plummer, creator of Task Manager https://www.reddit.c[...] 2020-12-18
[2] 웹사이트 Robocopy.exe - Robust File Copy Utility - Version XP010 http://theether.net/[...] Microsoft
[3] 웹사이트 Default groups http://technet.micro[...] Microsoft 2011-06-06
[4] 웹사이트 Robocopy XP010 FAQ http://www.windowsit[...] Penton Media 2004-11-15
[5] 웹사이트 Multi-threaded robocopy for faster copies https://blogs.msdn.m[...] Microsoft 2009-12-07
[6] 웹사이트 Return codes that are used by the Robocopy utility in Windows Server 2008 or Windows Server 2008 R2 https://learn.micros[...] Microsoft 2023-02-23
[7] 웹사이트 RoboCopy supports Copying Files over SMB with Compression on Windows Server 2019, and beyond https://dirteam.com/[...] 2021-02-14
[8] 웹사이트 SMB Compression Lowers Bandwidth and Improves Copy Times in Windows Server and Azure https://petri.com/sm[...] 2020-11-27
[9] 웹사이트 Robocopy https://docs.microso[...] 2020-06-07
[10] 웹사이트 Robocopy https://docs.microso[...] Microsoft 2019-01-14
[11] 웹사이트 CreateFile function https://learn.micros[...] Microsoft 2023-02-09
[12] 웹사이트 ShadowSpawn https://github.com/c[...] Craig Andera 2015-07-14
[13] 웹사이트 Diskshadow http://technet.micro[...] Microsoft TechNet 2013-03-06
[14] 웹사이트 Microsoft's Robocopy compromise http://www.zdnet.com[...] ZDNet 2012-11-11
[15] 웹사이트 Ugly bug in Robocopy - ignoring security on file level - Martin Zugec blog http://msmvps.com/bl[...] Msmvps.com 2012-11-11
[16] 웹사이트 Robocopy's /MT option disables /NP option http://social.techne[...] Microsoft TechNet 2014-02-26
[17] 뉴스 Utility Spotlight Robocopy GUI https://technet.micr[...] Microsoft Corporation and CMP Media, LLC 2008-07-17
[18] 웹사이트 Is Microsoft's Robocopy GUI still available https://www.tenforum[...] 2022-05-02
[19] 웹사이트 PC Assist Software - RoboCopy GUI https://www.pcassist[...] 2024-03-08
[20] 웹사이트 Cinchoo's ChoEazyCopy https://github.com/C[...] 2022-03-11
[21] 웹사이트 Easy RoboCopy http://www.tribbleso[...] TribbleSoft 2022-05-02
[22] 웹사이트 WinRoboCopy - UpWay2Late.com Software http://www.upway2lat[...] Upway2late.com 2012-11-11
[23] 웹사이트 RoboCop RoboCopy https://sourceforge.[...] 2015-09-10
[24] 웹사이트 SH-RoboCopy GUI https://www.sh-soft.[...] SH-Soft 2012-11-23
[25] 뉴스 Free Utility: RichCopy, an Advanced Alternative to RoboCopy https://technet.micr[...] Microsoft Corporation and CMP Media, LLC 2008-07-17
[26] 웹인용 Robocopy XP010 FAQ http://www.itprotoda[...] Windowsitpro.com 2012-11-11
[27] 웹인용 Multi-threaded robocopy for faster copies - Grant Holliday's Blog - Site Home - MSDN Blogs http://blogs.msdn.co[...] Blogs.msdn.com 2012-11-11
[28] 웹인용 Return codes that are used by the Robocopy utility in Windows Server 2008 or Windows Server 2008 R2 http://support.micro[...] Support.microsoft.com 2012-11-11



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com