Cambiar nombre del método de la clase Win32_Directory
El método Cambiar nombre de clase WMI cambia el nombre del archivo de entrada de directorio especificado en la ruta de acceso del objeto. No se admite un cambio de nombre si el destino está en otra unidad o 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 Rename(
string FileName
);
Parámetros
-
FileName
-
Nuevo nombre completo del archivo (o directorio). Ejemplo: c:\temp\newfile.txt.
Valor devuelto
Devuelve un valor de 0 (cero) si se cambió correctamente el nombre del archivo 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
Para cambiar el nombre de una carpeta, primero enlaza a la carpeta en cuestión y, a continuación, llama al método Rename. Como único parámetro para el método , pase el nuevo nombre para la carpeta como un nombre de ruta de acceso completo. Por ejemplo, si la carpeta de C:\Scripts\Logs\Backup se va a cambiar de nombre C:\Scripts\Archive, debe pasar C:\Scripts\Archive como nombre de carpeta completo. Pasar solo el nombre de la carpeta - Archive - da como resultado un error de ruta de acceso no válida.
La clase Win32_Directory no proporciona un método de un solo paso para mover carpetas. En su lugar, mover una carpeta generalmente implica dos pasos:
- 1. Copiando la carpeta en su nueva ubicación 2. Eliminación de la carpeta original
La única excepción a este proceso de dos pasos implica mover una carpeta a una nueva ubicación en la misma unidad. Por ejemplo, supongamos que desea mover C:\Temp a C:\Scripts\Temporary Files\Archive. Siempre que la ubicación actual y la nueva ubicación estén en la misma unidad, puede mover la carpeta simplemente llamando al método Rename y pasando la nueva ubicación como parámetro de método. Este enfoque permite mover eficazmente la carpeta en un solo paso. Sin embargo, se produce un error en el script si la unidad actual y la nueva unidad son diferentes. Se produce un error al intentar cambiar el nombre de C:\Temp a D:\Temp con un error "Drive not the same".
Ejemplos
En el código siguiente, del ejemplo Move a Folder Using WMI VBScript (Mover una carpeta mediante WMI VBScript en la Galería de TechNet), se usa el método Rename para mover la carpeta C:\Scripts a C:\Admins\Documents\Archive\VBScript.
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.Rename("C:\Admins\Documents\Archive\VBScript")
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 |
|