Método Delete da classe Win32_Directory
O método de classe DeleteWMI excluirá o arquivo lógico (ou diretório) especificado no caminho do objeto.
Este tópico usa a sintaxe MOF (Managed Object Format). Para obter mais informações sobre como usar esse método, consulte Chamando um método.
Sintaxe
uint32 Delete();
Parâmetros
Esse método não tem parâmetros.
Valor retornado
Retorna um valor de 0 (zero) se o arquivo foi excluído com êxito e qualquer outro número para indicar um erro.
-
0
-
A solicitação foi bem-sucedida.
-
2
-
O acesso foi negado.
-
8
-
Ocorreu uma falha não especificada.
-
9
-
O nome especificado não era válido.
-
10
-
O objeto especificado já existe.
-
11
-
O sistema de arquivos não é NTFS.
-
12
-
A plataforma não é o Windows.
-
13
-
A unidade não é a mesma.
-
14
-
O diretório não está vazio.
-
15
-
Houve uma violação de compartilhamento.
-
16
-
O arquivo inicial especificado não era válido.
-
17
-
Um privilégio necessário para a operação não é mantido.
-
21
-
Um parâmetro especificado não é válido.
Comentários
As pastas não são necessariamente adições permanentes a um sistema de arquivos. Em algum momento, as pastas podem precisar ser excluídas, talvez porque não são mais necessárias, porque a função do computador foi alterada ou porque as pastas foram criadas por engano.
Excluir permite que você exclua pastas: basta associar à pasta em questão e, em seguida, chamar o método Delete. Depois que o método Delete é chamado, a pasta é removida permanentemente do sistema de arquivos; ele não é enviado para a Lixeira. Além disso, nenhum aviso de confirmação ("Tem certeza de que deseja excluir esta pasta?") foi emitido. Em vez disso, a pasta é removida imediatamente.
Você não pode excluir pastas somente leitura usando o FileSystemObject; no entanto, isso pode ser feito usando o WMI. Se o script usa wmi e você não deseja remover uma pasta somente leitura, você deve usar a propriedade Readable para marcar a pasta status antes de excluí-la.
Exemplos
O exemplo de código VBScript a seguir exclui a pasta 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
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista |
Servidor mínimo com suporte |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|