Rinominare il metodo della classe Win32_Directory
Il metodo Rinomina classe WMI rinominail file di immissione della directory specificato nel percorso dell'oggetto. Una ridenominazione non è supportata se la destinazione si trova in un'altra unità o se è necessaria la sovrascrittura di un file logico esistente.
In questo argomento viene utilizzata la sintassi MOF (Managed Object Format). Per altre informazioni sull'uso di questo metodo, vedere Chiamata di un metodo.
Sintassi
uint32 Rename(
string FileName
);
Parametri
-
FileName
-
Nuovo nome completo del file (o directory). Esempio: c:\temp\newfile.txt.
Valore restituito
Restituisce un valore pari a 0 (zero) se il file è stato rinominato correttamente e qualsiasi altro numero per indicare un errore.
-
0
-
La richiesta è stata completata.
-
2
-
Accesso negato.
-
8
-
Si è verificato un errore non specificato.
-
9
-
Il nome specificato non è valido.
-
10
-
L'oggetto specificato esiste già.
-
11
-
Il file system non è NTFS.
-
12
-
La piattaforma non è Windows.
-
13
-
L'unità non è la stessa.
-
14
-
La directory non è vuota.
-
15
-
C'è stata una violazione di condivisione.
-
16
-
Il file iniziale specificato non è valido.
-
17
-
Un privilegio necessario per l'operazione non viene mantenuto.
-
21
-
Un parametro specificato non è valido.
Osservazioni:
Per rinominare una cartella, associarla prima alla cartella in questione e quindi chiamare il metodo Rename. Come unico parametro del metodo, passare il nuovo nome per la cartella come nome di percorso completo. Ad esempio, se la cartella in C:\Scripts\Logs\Backup deve essere rinominata C:\Scripts\Archive, è necessario passare C:\Scripts\Archive come nome completo della cartella. Se si passa solo il nome della cartella - Archivio , viene restituito un errore percorso non valido.
La classe Win32_Directory non fornisce un metodo in un unico passaggio per lo spostamento delle cartelle. Lo spostamento di una cartella prevede in genere due passaggi:
- 1. Copia della cartella nel nuovo percorso 2. Eliminazione della cartella originale
L'unica eccezione a questo processo in due passaggi comporta lo spostamento di una cartella in una nuova posizione nella stessa unità. Si supponga, ad esempio, di voler spostare C:\Temp in C:\Scripts\Temporary Files\Archive. Finché il percorso corrente e il nuovo percorso si trovano nella stessa unità, è possibile spostare la cartella semplicemente chiamando il metodo Rename e passando il nuovo percorso come parametro del metodo. Questo approccio consente di spostare la cartella in un singolo passaggio. Tuttavia, lo script ha esito negativo se l'unità corrente e la nuova unità sono diverse. Un tentativo di rinominare C:\Temp in D:\Temp ha esito negativo con un errore "Unità non uguale".
Esempi
Il codice seguente usa il metodo Rename per spostare la cartella C:\Scripts in C:\Amministrazione s\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
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Spazio dei nomi |
Root\CIMV2 |
MOF |
|
DLL |
|