Переименование метода класса Win32_Directory
Метод Переименоватькласс WMI переименовывает файл записи каталога, указанный в пути к объекту. Переименование не поддерживается, если назначение находится на другом диске или если требуется перезапись существующего логического файла.
В этом разделе используется синтаксис формата управляемого объекта (MOF). Дополнительные сведения об использовании этого метода см. в разделе Вызов метода .
Синтаксис
uint32 Rename(
string FileName
);
Параметры
-
FileName
-
Полное новое имя файла (или каталога). Пример: c:\temp\newfile.txt.
Возвращаемое значение
Возвращает значение 0 (ноль), если файл был успешно переименован, и любое другое число, указывающее на ошибку.
-
0
-
Запрос выполнен успешно.
-
2
-
В доступе было отказано.
-
8
-
Произошел неопределенный сбой.
-
9
-
Указанное имя было недопустимым.
-
10
-
Указанный объект уже существует.
-
11
-
Файловая система не является системой NTFS.
-
12
-
Платформа не является Windows.
-
13
-
Диск отличается.
-
14
-
Каталог не пуст.
-
15
-
Произошло нарушение общего доступа.
-
16
-
Указан недопустимый начальный файл.
-
17
-
Привилегия, необходимая для операции, не удерживается.
-
21
-
Указанный параметр является недопустимым.
Комментарии
Чтобы переименовать папку, сначала привяжите ее к нужной папке, а затем вызовите метод Rename. В качестве единственного параметра метода передайте новое имя папки в качестве полного имени пути. Например, если папка в папке C:\Scripts\Logs\Backup должна быть переименована в C:\Scripts\Archive, необходимо передать C:\Scripts\Archive в качестве полного имени папки. Передача только имени папки — Архив — приводит к ошибке Недопустимый путь.
Класс Win32_Directory не предоставляет одношаговый метод для перемещения папок. Вместо этого перемещение папки обычно состоит из двух этапов:
- 1. Копирование папки в новое расположение 2. Удаление исходной папки
Исключением из этого двухэтапного процесса является перемещение папки в новое расположение на том же диске. Например, предположим, что вы хотите переместить C:\Temp в папку C:\Scripts\Temporary Files\Archive. Если текущее и новое расположение находятся на одном диске, вы можете переместить папку, просто вызвав метод Rename и передав новое расположение в качестве параметра метода. Такой подход позволяет перемещать папку за один шаг. Однако сценарий завершается ошибкой, если текущий и новый диск отличаются. Попытка переименовать C:\Temp в D:\Temp завершается ошибкой "Диск не то же самое".
Примеры
В следующем коде из примера Перемещение папки с помощью WMI VBScript в коллекции TechNet используется метод Rename для перемещения папки C:\Scripts в папку 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
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Пространство имен |
Root\CIMV2 |
MOF |
|
DLL |
|