xcopy
하위 디렉터리를 포함하여 파일 및 디렉터리를 복사합니다.
이 명령을 사용하는 방법의 예는 예를 참조하세요.
구문
xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress]
매개 변수
매개 변수 | 설명 |
---|---|
<원본> | 필수입니다. 복사 하려는 파일의 이름과 위치를 지정 합니다. 이 매개 변수는 드라이브 또는 경로 포함 해야 합니다. |
[<Destination>] | 복사 하려는 파일의 대상을 지정 합니다. 이 매개 변수는 드라이브 문자 및 콜론, 디렉터리 이름, 파일 이름, 또는 이들의 조합을 포함할 수 있습니다. |
/w | 다음 메시지를 표시하고 파일 복사를 시작하기 전에 응답을 기다립니다: 파일 복사를 시작하려면 아무 키나 누르세요. |
/p | 각 대상 파일을 만들 것인지 여부를 확인 하 라는 메시지가 표시 됩니다. |
/c | 오류를 무시합니다. |
/v | 대상 파일은 소스 파일에 있는지 확인할 수 있도록 대상 파일에 기록 될 때 각 파일을 확인 합니다. |
/q | xcopy 메시지를 표시하지 않습니다. |
/f | 복사 하는 동안 소스 및 대상 파일 이름을 표시합니다. |
/l | 복사할 파일 목록을 생성하지만 파일을 실제로 복사하지는 않습니다. |
/g | 대상 경로가 암호화를 지원하지 않는 경우 암호가 해제된 대상 파일을 생성합니다. |
/d [: MM 될] | 변경 된 파일만 복사 또는 지정된 된 날짜 이후입니다. MM-DD-YYYY 값을 포함하지 않으면, xcopy 는 기존의 대상 파일보다 더 최신인 모든 소스 파일을 복사합니다. 이 명령줄 옵션을 사용 하면 변경 된 파일을 업데이트할 수 있습니다. |
/U | 소스로부터 대상에 존재하는 파일만 복사합니다. |
/i | 소스가 디렉터리이거나 와일드카드를 포함하고, 대상이 존재하지 않으면, xcopy 는 대상이 새로운 디렉터리의 이름이라고 가정하고 해당 디렉터리를 생성합니다. 그런 다음, xcopy 는 지정된 모든 파일을 새 디렉터리로 복사합니다. 기본적으로, xcopy 는 대상이 파일인지 디렉터리인지를 지정하도록 메시지를 표시합니다. |
/s | 디렉터리와 하위 디렉터리가 비어 있지 않은 경우를 제외하고 복사합니다. /s를 생략하면, xcopy 는 단일 디렉터리 내에서 작동합니다. |
/e | 하위 디렉터리가 비어 있더라도 모든 하위 디렉터리를 복사합니다. 사용 하 여 /e 와 /s 및 /t 명령줄 옵션입니다. |
/t | 하위 디렉터리 구조 (트리)만 하지 파일을 복사 합니다. 빈 디렉터리를 복사 하려면 포함 해야는 /e 명령줄 옵션입니다. |
/k | 소스 파일에 읽기 전용 속성이 있는 경우 대상 파일에서도 해당 읽기 전용 속성을 유지한 상태로 파일을 복사합니다. 기본적으로, xcopy 는 읽기 전용 특성을 제거합니다. |
/r | 읽기 전용 파일을 복사 합니다. |
/h | 파일을 복사 된 숨겨진 및 시스템 파일 특성입니다. 기본적으로, xcopy 는 숨겨진 파일이나 시스템 파일을 복사하지 않습니다. |
/a | 아카이브 파일 속성이 설정된 소스 파일만 복사합니다. /a는 소스 파일의 아카이브 파일 속성을 수정하지 않습니다. attrib를 사용하여 아카이브 파일 속성을 설정하는 방법에 대한 자세한 내용은 관련 링크를 참조하세요. |
/m | 아카이브 파일 속성이 설정된 소스 파일만 복사합니다. 와 달리 /a, /m 원본에 지정 된 파일의 보관 파일 특성을 해제 합니다. attrib를 사용하여 아카이브 파일 속성을 설정하는 방법에 대한 자세한 내용은 관련 링크를 참조하세요. |
/n | NTFS 짧은 파일 또는 디렉터리 이름을 사용 하 여 복사본을 만듭니다. /n은 NTFS 볼륨에서 FAT 볼륨으로 파일이나 디렉터리를 복사하는 경우 또는 대상 파일 시스템에서 FAT 파일 시스템의 명명 규칙(즉, 8.3 형식)이 요구되는 경우에 필요합니다. 대상 파일 시스템은 FAT 또는 NTFS 형식일 수 있습니다. |
/o | 복사는 소유권 및 임의 액세스 제어 목록 (DACL) 정보 파일입니다. |
/x | 복사본 파일 감사 설정 및 시스템 액세스 제어 목록 (SACL) 정보 (의미 /o). |
/exclude:FileName1[+[FileName2]][+[FileName3]( )] | 파일의 목록을 지정합니다. 하나 이상의 파일에 지정 되어야 합니다. 각 파일에는 검색 문자열이 포함되어 있으며, 각 문자열은 파일에서 별도의 줄로 표기되어 있습니다. 문자열 중 하나라도 복사할 파일의 절대 경로의 어느 부분과 일치하면, 해당 파일은 복사에서 제외됩니다. 예를 들어, 문자열 obj를 지정하면 obj 디렉터리 아래의 모든 파일이나 .obj 확장자를 가진 모든 파일이 제외됩니다. |
/y | 기존 대상 파일을 덮어쓸 것인지를 확인 하는 메시지를 표시 하지 않습니다. |
/ y | 기존 대상 파일을 덮어쓸 것인지를 확인 하 라는 메시지를 표시 합니다. |
/z | 다시 시작 가능 모드에서 네트워크를 통해 복사 합니다. |
/b | 파일 대신 바로 가기 링크를 복사합니다. 이 매개 변수는 Windows Vista®에서 도입 되었습니다. |
/j | 버퍼링 하지 않고 파일을 복사 합니다. 매우 큰 파일에 대 한 것이 좋습니다. 이 매개 변수는 Windows Server 2008 R2에서 추가되었습니다. |
/compress | 해당하는 경우 파일 전송 중에 네트워크 압축을 요청합니다. |
/[- ]sparse |
복사 프로세스 중 파일의 희소 상태를 유지할지 유지하지 않을지 여부를 설정합니다. 두 매개 변수가 모두 지정된 경우, /sparse보다 /-sparse가 우선시됩니다. |
/noclone | 블록 복제를 최적화로 시도하지 않습니다. |
/? | 명령 프롬프트에 도움말을 표시합니다. |
설명
사용 하 여 /z
복사 과정 중에 연결이 끊어지면(예: 서버가 오프라인이 되어 연결이 끊긴 경우), 연결을 다시 설정한 후 작업이 재개됩니다. /z 도 각 파일의 복사 작업의 백분율을 표시 합니다.
사용 하 여 /y 는 /z에 있습니다.
사용할 수 있습니다 /y 는 /z에 있습니다. 이 명령을 사용 하 여 재정의할 수 있습니다 /y 명령줄에 있습니다. 기본적으로 덮어쓰기를 할지 묻는 메시지가 표시됩니다.
암호화된 파일 복사
EFS를 지원하지 않는 볼륨에 암호화된 파일을 복사하면 오류가 발생합니다. 먼저 파일을 암호 해독 하거나 EFS를 지 원하는 볼륨으로 파일을 복사 합니다.
파일 추가
파일 이어붙이기를 하려면, 대상에는 하나의 파일을 지정하고 소스에는 여러 파일을 지정하세요(와일드카드를 사용하거나 file1+file2+file3 형식 사용).
대상의 기본값
대상을 생략하면,
xcopy
명령이 파일을 현재 디렉터리로 복사합니다.대상이 파일인지 디렉터리인지 지정
대상이 기존 디렉터리를 포함하지 않거나 백슬래시()로 끝나지 않으면, 다음 메시지가 표시됩니다:
Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?
파일 또는 파일에 복사할 파일을 사용 하려는 경우에 F를 누릅니다. 파일 또는 디렉터리에 복사할 파일을 사용 하려는 경우 D 키를 누릅니다.
/i 명령줄 옵션을 사용하면 이 메시지를 표시하지 않을 수 있습니다. 소스가 둘 이상의 여러 파일이거나 디렉터리인 경우
xcopy
는 대상이 디렉터리인 것으로 간주합니다.xcopy
명령을 사용하여 대상 파일의 아카이브 속성을 설정소스 파일에 아카이브 속성이 설정되었는지 여부와 관계 없이
xcopy
명령은 아카이브 속성이 설정된 파일을 생성합니다. 파일 속성 및 attrib에 대한 자세한 내용은 관련 링크를 참조하세요.xcopy
와diskcopy
비교하위 디렉터리에 파일이 있는 디스크를 다른 형식의 디스크로 복사하려면
xcopy
명령을 사용하며,diskcopy
명령은 사용하지 않습니다.diskcopy
명령은 디스크를 트랙별로 복사하기 때문에 소스 디스크와 대상 디스크의 형식이 동일해야 합니다.xcopy
명령에는 이러한 요구 사항이 없습니다. 완전한 디스크 이미지 복사본이 필요하지 않을 경우,xcopy
를 사용합니다.메모리 부족 오류
파일 이름 경로가 255자보다 큰 파일 또는 폴더를 복사하기 위해
xcopy
를 실행하는 경우 "메모리 부족" 오류가 발생할 수 있습니다.xcopy
의 종료 코드xcopy
에서 반환된 종료 코드를 처리하려면 배치 프로그램의 if 명령줄에서 ErrorLevel 매개 변수를 사용하세요. if를 사용하여 종료 코드를 처리하는 배치 프로그램의 예제는 관련 링크를 참조하세요. 다음 표에서 종료 코드와 설명을 나열합니다.종료 코드 설명 0 파일이 오류 없이 복사 되었습니다. 1 복사할 파일이 없습니다. 2 사용자가 Ctrl+C를 눌러서 xcopy
가 종료되었습니다.4 초기화 오류가 발생 했습니다. 메모리 또는 디스크 공간이 충분하지 않거나 명령줄에 잘못된 드라이브 이름 또는 잘못된 구문을 입력했습니다. 5 디스크 쓰기 오류가 발생 했습니다.
예제
1. 드라이브 A에서 드라이브 B로 모든 파일과 하위 디렉터리(비어 있는 하위 디렉터리 포함)를 복사하려면 다음과 같이 입력하세요:
xcopy a: b: /s /e
2. 이전 예제에서 시스템 파일이나 숨김 파일을 포함하려면 다음과 같이 /h 명령줄 옵션을 추가하세요:
xcopy a: b: /s /e /h
3. \Reports 디렉터리의 파일을 1993년 12월 29일 이후에 변경된 \Rawdata 디렉터리의 파일로 업데이트하려면 다음과 같이 입력하세요:
xcopy \rawdata \reports /d:12-29-1993
4. 이전 예제에서 날짜와 관계 없이 \Reports 디렉터리에 존재하는 모든 파일을 업데이트하려면 다음과 같이 입력하세요:
xcopy \rawdata \reports /u
5. 이전 명령을 통해 복사될 파일의 목록을 얻으려면(실제로 파일을 복사하지 않고), 다음과 같이 입력하십시오:
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out
파일 xcopy.out를 복사 하는 모든 파일을 나열 합니다.
6. \Customer 디렉터리와 모든 하위 디렉터리를 네트워크 드라이브 H:의 \Public\Address 디렉터리로 복사하고, 읽기 전용 속성을 유지하며, H:에 새 파일이 생성될 때마다 확인 메시지를 받으려면 다음과 같이 입력하세요:
xcopy \customer h:\public\address /s /e /k /p
7. 이전 예제의 명령을 실행할 때 \Address 디렉터리가 없는 경우, xcopy
가 디렉터리를 만들고 새 디렉터리가 생성될 때 나타나는 메시지를 표시하지 않으려면 다음과 같이/i 명령줄 옵션을 추가합니다:
xcopy \customer h:\public\address /s /e /k /p /i
8. 배치 프로그램을 만들어 xcopy
작업을 수행할 수 있으며, if 명령을 사용하면 오류가 발생할 경우 종료 코드를 처리하도록 할 수 있습니다. 예를 들어, 다음 배치 프로그램은 xcopy
소스 및 대상 매개 변수에 대하여 대체 가능한 매개 변수를 사용합니다:
@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%2)
xcopy %1 %2 /s /e
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit
:abort
echo You pressed CTRL+C to end the copy operation.
goto exit
:exit
앞의 배치 프로그램을 사용하여 C:\Prgmcode 디렉터리 및 하위 디렉터리의 모든 파일을 B 드라이브로 복사하려면 다음과 같이 입력합니다:
copyit c:\prgmcode b:
명령 인터프리터는 C:\Prgmcode를 %1 및 B:를 %2로 대체한 후, xcopy
를 /e 및 /s 명령줄 옵션과 함께 사용합니다. xcopy
에서 오류가 발생하면 배치 프로그램은 종료 코드를 읽고 해당되는 IF ERRORLEVEL 문에 표시된 레이블로 이동한 후, 해당 메시지를 표시하고 배치 프로그램을 종료합니다.
9. 이 예제는 빈 디렉터리를 제외한 모든 디렉터리와 별표 기호 뒤에 지정된 확장자를 가진 파일을 복사합니다.
xcopy .\toc*.yml ..\..\Copy-To\ /S /Y
rem Output example.
rem .\d1\toc.yml
rem .\d1\d12\toc.yml
rem .\d2\toc.yml
rem 3 File(s) copied
이전 예제에서 .\toc*.yml이라는 특정 소스 매개 변수 값은 두 개의 경로 문자.\가 제거되더라도 동일한 3개의 파일을 복사합니다. 그러나, 소스 매개 변수에서 별표 와일드카드를 제거하여 .\toc.yml로 만들면 아무 파일도 복사되지 않습니다.