Robocopy 명령어 사용법 (Windows) - Tirrilee/TechTalk GitHub Wiki

Robocopy 명령어 사용법 (Windows)

Robocopy 문법

ROBOCOPY <source> <destination> [file…] [options]

Robocopy 간단 예제

  1. 단순 복사 소스 경로에 있는 파일만 복사함. 하위 디렉토리는 복사하지 않음
Robocopy C:\SourceDir C:\DestDir
  1. 하위 디렉토리 포함 복사 (/S 또는 /E) 소스 경로내에 하위폴더를 포함한 모든 디렉토리와 파일을 복사함
Robocopy C:\SourceDir C:\DestDir /E

/S :: 비어 있는 디렉터리는 제외하고 하위 디렉터리를 복사합니다.
/E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
  1. 리스트만 출력 (/I) 복사를 수행하지 않고 복사 대상만 화면에 출력한다.
Robocopy C:\SourceDir C:\DestDir /E /I
  1. 복사 대상 제한 - 최소 사이즈[~byte이상만 포함] (/min:숫자) 예제) 1024byte 이상의 파일만 복사
Robocopy C:\SourceDir C:\DestDir /E /min:1024
  1. 복사 대상 제한 - 최소 날짜[~일 지난 것만 포함] (/minage:숫자) 예제) 14일 지난 파일만 복사
Robocopy C:\SourceDir C:\DestDir /E /minage:14

참고(/maxage:숫자)
  1. 복사 대상 제한 - 특정 디렉토리 불포함 (/XD 경로)
Robocopy C:\SourceDir C:\DestDir /XD C:\SourceDir\dir1
  1. 파일이동 (/move)
Robocopy C:\SourceDir C:\DestDir /move
  1. 미러링 (/MIR) 소스폴더의 변경내역을 목적지폴더에 반영한다.
Robocopy C:\SourceDir C:\DestDir /MIR


Robocopy \\SourceServer\Share \\DestinationServer\Share /MIR /FFT /Z /XA:H /W:5

  - /MIR specifies that Robocopy should mirror the source directory and the destination directory. Note that this will delete files at the destination if they were deleted at the source.
  - /FFT uses fat file timing instead of NTFS. This means the granularity is a bit less precise. For across-network share operations this seems to be much more reliable - just don't rely on the file timings to be completely precise to the second.
  - /Z ensures Robocopy can resume the transfer of a large file in mid-file instead of restarting.
  - /XA:H makes Robocopy ignore hidden files, usually these will be system files that we're not interested in.
  - /W:5 reduces the wait time between failures to 5 seconds instead of the 30 second default.
  1. 1일치 변경분을 날짜폴더에 복사
@echo off
set day=%date:~8,2%
set month=%date:~5,2%
set year=%date:~0,4%

Robocopy "c:\data" "c:\backup\data\%day%-%month%-%year%\" /MAXAGE:1
  1. 특정 날짜의 데이터만 복사 20180214 날짜의 파일만 복사
Robocopy D:\WebHosting\Logs\ D:\DestDir /maxage:20180214 /minage:20180215 /E
  1. 복사 플래그 데이터, 속성, 시간, 권한, Owner, 감자 정보 포함 여부
ROBOCOPY <Source> <Target> /E /Copy:S /IS /IT


- Copy option have the following flags to use:
- The default value for CopyFlags is DAT (data, attributes, and time stamps).
    - D Data
    - A Attributes
    - T Time stamps
    - S NTFS access control list (ACL)
    - O Owner information
    - U Auditing information

- Includes options
    - /IS - Includes the same files.
    - /IT - Includes "tweaked" files.

실사용예

로컬 디렉토리내에 있는 모든 파일과 디렉토리를 원격서버의 백업폴더내 날짜폴더에 복사하고 로그를 남김. (아래 내용을 backup.dat 배치 파일을 만들어 윈도우 예약작업에 등록할 수 있음)

@echo off
robocopy /V /E /COPY:DAT D:\WebHosting \\10.10.1.9\BACKUP\172.17.10.101\%date% /LOG+:C:\backuplog\%date%_log.txt

옵션 상세

  • Copy Options
  • File Selection Options
  • Retry Options
  • Logging Options
  • Job Options

(참고) https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc733145(v=ws.10)


Robocopy /?

           사용법 :: ROBOCOPY 원본 대상 [파일 [파일]...] [옵션]

             원본 :: 원본 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)
             대상 :: 대상 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)
             파일 :: 복사할 파일입니다. 이름/와일드카드: 기본값은 "*.*"입니다.

      ::
      :: 복사 옵션:
      ::

               /S :: 비어 있는 디렉터리는 제외하고 하위 디렉터리를 복사합니다.
               /E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
           /LEV:n :: 원본 디렉터리 트리의 최상위 n개 수준만 복사합니다.

               /Z :: 다시 시작 모드에서 파일을 복사합니다.
               /B :: 백업 모드에서 파일을 복사합니다.
              /ZB :: 다시 시작 모드를 사용합니다. 액세스가 거부된 경우 백업
                     모드를 사용합니다.
               /J :: 버퍼를 사용하지 않은 I/O로 복사합니다(큰 파일에 권장).
          /EFSRAW :: EFS RAW 모드에서 암호화된 모든 파일을 복사합니다.

          /COPY:copyflag[s] :: 파일에 대해 복사할 내용입니다. 기본값은 /COPY:DAT입니다.
                     (copyflags : D=데이터, A=특성, T=타임스탬프).
                     (S=보안=NTFS ACL, O=소유자 정보, U=감사 정보).

             /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 옵션을 사용하여 출력을 리디렉션하세요.

        /DCOPY:copyflag[s] :: 디렉터리에 대해 복사할 내용(기본값은 /DCOPY:DA).
                     (copyflags : D=데이터, A=특성, T=타임스탬프).

         /NODCOPY :: 디렉터리 정보 복사 안 함(기본적으로 /DCOPY:DA 수행).

       /NOOFFLOAD :: Windows 복사본 오프로드 메커니즘을 사용하지
                     않고 파일을 복사합니다.

      ::
      :: 파일 선택 옵션:
      ::
               /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 :: 상태를 유니코드로 출력합니다.

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

      ::
      :: 설명:
      ::
     볼륨의 루트 디렉터리에서 /PURGE 또는 /MIR을 사용하면
     요청된 작업이 robocopy에 의해 시스템 볼륨 정보 디렉터리의
     파일에도 적용됩니다. 적용되지 않게 하려면 /XD 스위치를
     사용하여 해당 디렉터리를 건너뛰도록 robocopy에
     명령할 수 있습니다.

참고문서

⚠️ **GitHub.com Fallback** ⚠️