Поделиться через


Метод Delete класса Win32_Directory

Метод класса DeleteWMI удалит логический файл (или каталог), указанный в пути к объекту.

В этом разделе используется синтаксис формата управляемого объекта (MOF). Дополнительные сведения об использовании этого метода см. в разделе Вызов метода.

Синтаксис

uint32 Delete();

Параметры

Этот метод не имеет параметров.

Возвращаемое значение

Возвращает значение 0 (ноль), если файл был успешно удален, и любое другое число, указывающее на ошибку.

0

Запрос выполнен успешно.

2

В доступе было отказано.

8

Произошел неопределенный сбой.

9

Указанное имя было недопустимым.

10

Указанный объект уже существует.

11

Файловая система не является системой NTFS.

12

Платформа не является Windows.

13

Диск отличается.

14

Каталог не пуст.

15

Произошло нарушение общего доступа.

16

Указан недопустимый начальный файл.

17

Привилегия, необходимая для операции, не удерживается.

21

Указанный параметр является недопустимым.

Комментарии

Папки не обязательно являются постоянными дополнениями к файловой системе. В какой-то момент может потребоваться удалить папки, возможно, из-за того, что они больше не требуются, из-за изменения роли компьютера или из-за того, что папки были созданы по ошибке.

Удаление позволяет удалять папки. Вы просто привязываетесь к нужной папке, а затем вызываете метод Delete. После вызова метода Delete папка окончательно удаляется из файловой системы; Он не отправляется в корзину. Кроме того, уведомление о подтверждении ("Вы действительно хотите удалить эту папку?") не выдается. Вместо этого папка немедленно удаляется.

Невозможно удалить папки только для чтения с помощью FileSystemObject; однако это можно сделать с помощью инструментария WMI. Если скрипт использует инструментарий WMI и вы не хотите удалять папку, доступную только для чтения, необходимо использовать свойство Readable, чтобы проверка состояние папки перед ее удалением.

Примеры

В следующем примере кода VBScript удаляется папка C:\Scripts.

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.Delete
 Wscript.Echo errResults
Next

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

См. также раздел

Классы операционной системы

Win32_Directory