Метод 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 |
|
DLL |
|