Share via


Win32_Directory 클래스의 Copy 메서드

CopyWMI 클래스 메서드는 개체 경로에 지정된 논리 디렉터리 항목 파일 또는 디렉터리를 입력 매개 변수로 지정된 위치에 복사합니다. 기존 논리 파일을 덮어써야 하는 경우 복사본이 지원되지 않습니다.

이 항목에서는 MOF(Managed Object Format) 구문을 사용합니다. 이 메서드를 사용하는 방법에 대한 자세한 내용은 메서드 호출을 참조 하세요.

구문

uint32 Copy(
   string FileName
);

매개 변수

FileName

파일(또는 디렉터리)의 복사본의 정규화된 이름입니다. 예: c:\temp\newdirectory

반환 값

파일이 성공적으로 복사된 경우 0의 값을 반환하고 오류를 나타내는 다른 숫자를 반환합니다.

0

요청에 성공했습니다.

2

액세스가 거부되었습니다.

8

지정되지 않은 오류가 발생했습니다.

9

지정한 이름이 잘못되었습니다.

10

지정한 개체가 이미 있습니다.

11

NTFS 파일 시스템이 아닙니다.

12

플랫폼은 Windows가 아닙니다.

13

드라이브가 동일하지 않습니다.

14

디렉터리가 비어 있지 않은 경우

15

공유 위반이 있었습니다.

16

지정한 시작 파일이 잘못되었습니다.

17

작업에 필요한 권한은 보유되지 않습니다.

21

지정된 매개 변수가 잘못되었습니다.

설명

폴더를 한 위치에서 다른 위치로 복사해야 하는 경우가 많습니다. 예를 들어 한 서버에서 다른 서버로 폴더를 복사하여 해당 폴더의 백업 복사본을 만들 수 있습니다. 또는 사용자 워크스테이션에 복사해야 하는 템플릿 폴더 또는 모든 DNS 서버에 복사해야 하는 스크립트 폴더가 있을 수 있습니다.

Win32_Directory Copy 메서드를 사용하면 동일한 컴퓨터(예: C 드라이브에서 D 드라이브로 폴더 복사) 또는 원격 컴퓨터에서 한 위치에서 다른 위치로 폴더를 복사할 수 있습니다. 폴더를 복사하려면 복사할 폴더의 인스턴스를 반환한 다음 Copy 메서드를 호출하여 새 폴더 복사본의 대상 위치를 매개 변수로 전달합니다. 예를 들어 이 코드 줄은 F 드라이브의 Scripts 폴더에 폴더를 복사합니다.

objFolder.Copy("F:\Scripts")

Copy 메서드를 실행할 때 WMI는 기존 폴더를 덮어쓰지 않습니다. 즉, 대상 폴더가 있는 경우 복사 작업이 실패합니다. 예를 들어 Scripts라는 폴더가 있고 해당 폴더를 \\atl-fs-01\archive라는 원격 공유에 복사하려고 시도한다고 가정합니다. 스크립트라는 폴더가 해당 공유에 이미 있는 경우 복사 작업이 실패합니다.

예제

다음 코드 샘플에서는 Copy 메서드를 사용하여 C:\Scripts 폴더를 D:\Archive에 복사합니다.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
 
Set colFolders = objWMIService.ExecQuery( _ 
    "Select * from Win32_Directory where Name = 'c:\\Scripts'") 
 
For Each objFolder in colFolders 
    errResults  = objFolder.Copy("D:\Archive") 
Next

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
네임스페이스
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

참고 항목

운영 체제 클래스

Win32_Directory