Rename-Methode der Win32_Directory-Klasse
Die RenameWMI-Klassenmethode benennt die im Objektpfad angegebene Verzeichniseintragsdatei um. Eine Umbenennung wird nicht unterstützt, wenn sich das Ziel auf einem anderen Laufwerk befindet oder wenn das Überschreiben einer vorhandenen logischen Datei erforderlich ist.
In diesem Thema wird MOF-Syntax (Managed Object Format) verwendet. Weitere Informationen zur Verwendung dieser Methode finden Sie unter Aufrufen einer Methode.
Syntax
uint32 Rename(
string FileName
);
Parameter
-
FileName
-
Vollqualifizierter neuer Name der Datei (oder des Verzeichnisses). Beispiel: c:\temp\newfile.txt.
Rückgabewert
Gibt den Wert 0 (null) zurück, wenn die Datei erfolgreich umbenannt wurde, und eine beliebige andere Zahl, die auf einen Fehler hinweist.
-
0
-
Die Anforderung wurde erfolgreich gesendet.
-
2
-
Der Zugriff wurde verweigert.
-
8
-
Ein nicht angegebener Fehler ist aufgetreten.
-
9
-
Der angegebene Name war ungültig.
-
10
-
Das angegebene Objekt ist bereits vorhanden.
-
11
-
Das Dateisystem ist nicht NTFS.
-
12
-
Die Plattform ist nicht Windows.
-
13
-
Das Laufwerk ist nicht identisch.
-
14
-
Das Verzeichnis ist nicht leer.
-
15
-
Es ist ein Verstoß gegen die Freigabe aufgetreten.
-
16
-
Die angegebene Startdatei war ungültig.
-
17
-
Eine für den Vorgang erforderliche Berechtigung wird nicht gehalten.
-
21
-
Ein angegebener Parameter ist ungültig.
Bemerkungen
Um einen Ordner umzubenennen, binden Sie zuerst an den betreffenden Ordner, und rufen Sie dann die Rename-Methode auf. Übergeben Sie als alleiniger Parameter für die -Methode den neuen Namen für den Ordner als vollständigen Pfadnamen. Wenn der Ordner in C:\Scripts\Logs\Backup beispielsweise in C:\Scripts\Archive umbenannt werden soll, müssen Sie C:\Scripts\Archive als vollständigen Ordnernamen übergeben. Wenn nur der Ordnername – Archiv – übergeben wird, wird ein Fehler aufgrund eines ungültigen Pfads ausgelöst.
Die Win32_Directory-Klasse stellt keine Ein-Schritt-Methode zum Verschieben von Ordnern bereit. Stattdessen umfasst das Verschieben eines Ordners im Allgemeinen zwei Schritte:
- 1. Kopieren des Ordners an den neuen Speicherort 2. Löschen des ursprünglichen Ordners
Die eine Ausnahme dieses zweistufigen Prozesses besteht darin, einen Ordner an einen neuen Speicherort auf demselben Laufwerk zu verschieben. Angenommen, Sie möchten C:\Temp nach C:\Scripts\Temporary Files\Archive verschieben. Solange sich der aktuelle Speicherort und der neue Speicherort auf demselben Laufwerk befinden, können Sie den Ordner verschieben, indem Sie einfach die Rename-Methode aufrufen und den neuen Speicherort als Methodenparameter übergeben. Dieser Ansatz ermöglicht es Ihnen, den Ordner in einem einzigen Schritt zu verschieben. Das Skript schlägt jedoch fehl, wenn sich das aktuelle Laufwerk und das neue Laufwerk unterscheiden. Beim Versuch, C:\Temp in D:\Temp umzubenennen, tritt der Fehler "Laufwerk nicht gleich" auf.
Beispiele
Der folgende Code aus dem Beispiel Zum Verschieben eines Ordners mithilfe von WMI VBScript im TechNet-Katalog verwendet die Rename-Methode, um den Ordner C:\Scripts nach C:\Admins\Documents\Archive\VBScript zu verschieben.
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
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|