CopyFileW 함수(winbase.h)
기존 파일을 새 파일에 복사합니다.
CopyFileEx 함수는 두 가지 추가 기능을 제공합니다. CopyFileEx 복사 작업의 일부가 완료될 때마다 지정된 콜백 함수를 호출할 수 있으며 복사 작업 중에 CopyFileEx 취소할 수 있습니다.
이 작업을 트랜잭션 작업으로 수행하려면 CopyFileTransacted 함수를 사용합니다.
통사론
BOOL CopyFileW(
[in] LPCWSTR lpExistingFileName,
[in] LPCWSTR lpNewFileName,
[in] BOOL bFailIfExists
);
매개 변수
[in] lpExistingFileName
기존 파일의 이름입니다.
기본적으로 이름은 MAX_PATH 문자로 제한됩니다. 이 제한을 32,767자로 확장하려면 경로 앞에 "\\?\"를 추가합니다. 자세한 내용은 이름 지정 파일, 경로 및 네임스페이스참조하세요.
팁
Windows 10 버전 1607부터 "\\?\" 앞에 추가하지 않고 MAX_PATH 제한을 제거하도록 옵트인할 수 있습니다. 자세한 내용은 명명 파일, 경로 및 네임스페이스의 "최대 경로 길이 제한" 섹션을.
lpExistingFileName 없는 경우 CopyFile 실패하고 GetLastErrorERROR_FILE_NOT_FOUND반환합니다.
[in] lpNewFileName
새 파일의 이름입니다.
기본적으로 이름은 MAX_PATH 문자로 제한됩니다. 이 제한을 32,767자로 확장하려면 경로 앞에 "\\?\"를 추가합니다. 자세한 내용은 이름 지정 파일, 경로 및 네임스페이스참조하세요.
팁
Windows 10 버전 1607부터 "\\?\" 앞에 추가하지 않고 MAX_PATH 제한을 제거하도록 옵트인할 수 있습니다. 자세한 내용은 명명 파일, 경로 및 네임스페이스의 "최대 경로 길이 제한" 섹션을.
[in] bFailIfExists
이 매개 변수가 TRUE
반환 값
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
기존 파일에 대한 보안 리소스 속성(ATTRIBUTE_SECURITY_INFORMATION)이 새 파일에 복사됩니다.
Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 기존 파일에 대한 보안 리소스 속성은 Windows 8 및 Windows Server 2012까지 새 파일에 복사되지 않습니다.
기존 파일의 파일 특성이 새 파일에 복사됩니다. 예를 들어 기존 파일에 FILE_ATTRIBUTE_READONLY 파일 특성이 있는 경우 CopyFile 호출을 통해 만든 복사본에도 FILE_ATTRIBUTE_READONLY 파일 특성이 있습니다. 자세한 내용은 파일 특성검색 및 변경
대상 파일이 이미 있고 FILE_ATTRIBUTE_HIDDEN 또는 FILE_ATTRIBUTE_READONLY 특성이 설정된 경우 이 함수는 ERROR_ACCESS_DENIED 실패합니다.
CopyFile 사용하여 암호화된 파일을 복사하는 경우 원본 파일의 암호화에 사용되는 키로 대상 파일을 암호화하려고 시도합니다. 이 작업을 수행할 수 없는 경우 이 함수는 기본 키를 사용하여 대상 파일을 암호화하려고 시도합니다. 이러한 메서드를 둘 다 수행할 수 없는 경우 CopyFileERROR_ENCRYPTION_FAILED 오류 코드와 함께 실패합니다.
기호 링크 동작 - 원본 파일이 기호 링크인 경우 복사된 실제 파일은 기호 링크의 대상입니다.
대상 파일이 이미 있고 바로 가기 링크인 경우 기호 링크의 대상은 원본 파일에서 덮어씁니다.
Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술에서 지원됩니다.
기술 | 지원 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | 예 |
SMB 3.0 TFO(투명한 장애 조치(failover) | 예 |
SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 | 예 |
CsvFS(클러스터 공유 볼륨 파일 시스템) | 예 |
ReFS(복원 파일 시스템) | 예 |
예제
예를 들어 파일 특성 검색 및 변경참조하세요.
메모
winbase.h 헤더는 COPYFile을 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |
참고 항목
copyFileEx
copyFileTransacted
CreateFile
MoveFile