Método copy de la clase Win32_Directory
El método copy de clase WMI copia el archivo de entrada de directorio lógico o directorio especificado en la ruta de acceso del objeto a la ubicación especificada por el parámetro de entrada. No se admite una copia si se requiere sobrescribir un archivo lógico existente.
En este tema se usa la sintaxis de Managed Object Format (MOF). Para obtener más información sobre el uso de este método, vea Llamar a un método.
Sintaxis
uint32 Copy(
string FileName
);
Parámetros
-
FileName
-
Nombre completo de la copia del archivo (o directorio). Ejemplo: c:\temp\newdirectory
Valor devuelto
Devuelve un valor de 0 (cero) si el archivo se copió correctamente y cualquier otro número para indicar un error.
-
0
-
La solicitud fue correcta.
-
2
-
Se denegó el acceso.
-
8
-
Error no especificado.
-
9
-
El nombre especificado no era válido.
-
10
-
El objeto especificado ya existe.
-
11
-
El sistema de archivos no es NTFS.
-
12
-
La plataforma no es Windows.
-
13
-
La unidad no es la misma.
-
14
-
El directorio no está vacío.
-
15
-
Se ha producido una infracción de uso compartido.
-
16
-
El archivo de inicio especificado no era válido.
-
17
-
No se mantiene un privilegio necesario para la operación.
-
21
-
Un parámetro especificado no es válido.
Comentarios
Las carpetas a menudo deben copiarse de una ubicación a otra. Por ejemplo, puede copiar una carpeta de un servidor a otro para crear una copia de seguridad de esa carpeta. O bien, es posible que tenga una carpeta templates que deba copiarse en estaciones de trabajo de usuario o en una carpeta de scripts que se debe copiar en todos los servidores DNS.
El método copy de Win32_Directory permite copiar una carpeta de una ubicación a otra, ya sea en el mismo equipo (por ejemplo, copiar una carpeta de la unidad C a la unidad D) o en un equipo remoto. Para copiar una carpeta, se devuelve una instancia de la carpeta que se va a copiar y, a continuación, se llama al método Copy, pasando como parámetro la ubicación de destino de la nueva copia de la carpeta. Por ejemplo, esta línea de código copia una carpeta en la carpeta Scripts de la unidad F:
objFolder.Copy("F:\Scripts")
WMI no sobrescribirá una carpeta existente al ejecutar el método Copy. Esto significa que se produce un error en la operación de copia si existe la carpeta de destino. Por ejemplo, supongamos que tiene una carpeta denominada Scripts e intenta copiar esa carpeta en un recurso compartido remoto denominado \\atl-fs-01\archive. Si ya existe una carpeta denominada Scripts en ese recurso compartido, se produce un error en la operación de copia.
Ejemplos
En el ejemplo de código siguiente, tomado de La copia de una carpeta mediante WMI, se usa el método Copy para copiar la carpeta C:\Scripts en 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 | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Espacio de nombres |
Root\CIMV2 |
MOF |
|
Archivo DLL |
|