Share via


Método Copy da classe Win32_Directory

O método de classe CopyWMI copia o arquivo de entrada de diretório lógico ou o diretório especificado no caminho do objeto para o local especificado pelo parâmetro de entrada. Não há suporte para uma cópia se a substituição de um arquivo lógico existente for necessária.

Este tópico usa a sintaxe MOF (Managed Object Format). Para obter mais informações sobre como usar esse método, consulte Chamando um método.

Sintaxe

uint32 Copy(
   string FileName
);

Parâmetros

FileName

Nome totalmente qualificado da cópia do arquivo (ou diretório). Exemplo: c:\temp\newdirectory

Valor retornado

Retorna um valor de 0 (zero) se o arquivo foi copiado com êxito e qualquer outro número para indicar um erro.

0

A solicitação foi bem-sucedida.

2

O acesso foi negado.

8

Ocorreu uma falha não especificada.

9

O nome especificado não era válido.

10

O objeto especificado já existe.

11

O sistema de arquivos não é NTFS.

12

A plataforma não é o Windows.

13

A unidade não é a mesma.

14

O diretório não está vazio.

15

Houve uma violação de compartilhamento.

16

O arquivo inicial especificado não era válido.

17

Um privilégio necessário para a operação não é mantido.

21

Um parâmetro especificado não é válido.

Comentários

As pastas geralmente precisam ser copiadas de um local para outro. Por exemplo, você pode copiar uma pasta de um servidor para outro para criar uma cópia de backup dessa pasta. Ou você pode ter uma pasta de modelos que precisa ser copiada para estações de trabalho de usuário ou uma pasta de scripts que deve ser copiada para todos os seus servidores DNS.

O método Win32_Directory Copy permite copiar uma pasta de um local para outro, seja no mesmo computador (por exemplo, copiando uma pasta da unidade C para a unidade D) ou em um computador remoto. Para copiar uma pasta, você retorna uma instância da pasta a ser copiada e, em seguida, chama o método Copy, passando como um parâmetro o local de destino para a nova cópia da pasta. Por exemplo, essa linha de código copia uma pasta para a pasta Scripts na unidade F:

objFolder.Copy("F:\Scripts")

O WMI não substituirá uma pasta existente ao executar o método Copy. Isso significa que a operação de cópia falhará se a pasta de destino existir. Por exemplo, suponha que você tenha uma pasta chamada Scripts e tente copiar essa pasta para um compartilhamento remoto chamado \\atl-fs-01\archive. Se uma pasta chamada Scripts já existir nesse compartilhamento, a operação de cópia falhará.

Exemplos

O exemplo de código a seguir, obtido do método Copy a Folder Using WMI, usa o método Copy para copiar a pasta C:\Scripts para 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

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Confira também

Classes do sistema operacional

Win32_Directory