DirectoryInfo.Delete Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Apaga um DirectoryInfo e o seu conteúdo de um caminho.
Sobrecargas
| Name | Description |
|---|---|
| Delete() |
Apaga isto DirectoryInfo se estiver vazio. |
| Delete(Boolean) |
Elimina esta instância de um DirectoryInfo, especificando se deve eliminar subdiretórios e ficheiros. |
Delete()
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
Apaga isto DirectoryInfo se estiver vazio.
public:
override void Delete();
public override void Delete();
override this.Delete : unit -> unit
Public Overrides Sub Delete ()
Exceções
O diretório contém um ficheiro apenas de leitura.
O diretório descrito por este DirectoryInfo objeto não existe ou não pôde ser encontrado.
O diretório não está vazio.
-ou-
O diretório é o diretório de trabalho atual da aplicação.
-ou-
Existe um handle aberto no diretório, e o sistema operativo é Windows XP ou anterior. Este handle aberto pode resultar da enumeração de diretórios. Para mais informações, veja Como: Enumerar Diretórios e Ficheiros.
O interlocutor não tem a permissão necessária.
Exemplos
O exemplo seguinte lança uma exceção se tentar eliminar um diretório que não está vazio.
using System;
using System.IO;
class Test
{
public static void Main()
{
// Specify the directories you want to manipulate.
DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");
try
{
// Create the directories.
di1.Create();
di1.CreateSubdirectory("temp");
//This operation will not be allowed because there are subdirectories.
Console.WriteLine("I am about to attempt to delete {0}", di1.Name);
di1.Delete();
Console.WriteLine("The Delete operation was successful, which was unexpected.");
}
catch (Exception)
{
Console.WriteLine("The Delete operation failed as expected.");
}
finally {}
}
}
open System.IO
// Specify the directories you want to manipulate.
let di1 = DirectoryInfo @"c:\MyDir"
try
// Create the directories.
di1.Create()
di1.CreateSubdirectory "temp" |> ignore
//This operation will not be allowed because there are subdirectories.
printfn $"I am about to attempt to delete {di1.Name}"
di1.Delete()
printfn "The Delete operation was successful, which was unexpected."
with _ ->
printfn "The Delete operation failed as expected."
Imports System.IO
Public Class Test
Public Shared Sub Main()
' Specify the directories you want to manipulate.
Dim di1 As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Try
' Create the directories.
di1.Create()
di1.CreateSubdirectory("temp")
'This operation will not be allowed because there are subdirectories.
Console.WriteLine("I am about to attempt to delete {0}", di1.Name)
di1.Delete()
Console.WriteLine("The Delete operation was successful, which was unexpected.")
Catch
Console.WriteLine("The Delete operation was unsuccessful, as expected.")
End Try
End Sub
End Class
Observações
Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.
Ver também
Aplica-se a
Delete(Boolean)
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
- Origem:
- DirectoryInfo.cs
Elimina esta instância de um DirectoryInfo, especificando se deve eliminar subdiretórios e ficheiros.
public:
void Delete(bool recursive);
public void Delete(bool recursive);
override this.Delete : bool -> unit
Public Sub Delete (recursive As Boolean)
Parâmetros
- recursive
- Boolean
true para eliminar este diretório, os seus subdiretórios e todos os ficheiros; caso contrário, false.
Exceções
O diretório contém um ficheiro apenas de leitura.
O diretório descrito por este DirectoryInfo objeto não existe ou não pôde ser encontrado.
O diretório é apenas de leitura.
-ou-
O diretório contém um ou mais ficheiros ou subdiretórios e recursive é false.
-ou-
O diretório é o diretório de trabalho atual da aplicação.
-ou-
Existe um handle aberto no diretório ou num dos seus ficheiros, e o sistema operativo é Windows XP ou anterior. Este handle aberto pode resultar da enumeração de diretórios e ficheiros. Para mais informações, veja Como: Enumerar Diretórios e Ficheiros.
O interlocutor não tem a permissão necessária.
Exemplos
O exemplo seguinte demonstra a eliminação de um diretório. Como o diretório foi removido, primeiro comenta a Delete linha para verificar se o diretório existe. Depois descomente a mesma linha de código para testar se a diretoria foi removida com sucesso.
using System;
using System.IO;
public class DeleteTest
{
public static void Main()
{
// Make a reference to a directory.
DirectoryInfo di = new DirectoryInfo("TempDir");
// Create the directory only if it does not already exist.
if (!di.Exists)
di.Create();
// Create a subdirectory in the directory just created.
DirectoryInfo dis = di.CreateSubdirectory("SubDir");
// Process that directory as required.
// ...
// Delete the subdirectory. The true indicates that if subdirectories
// or files are in this directory, they are to be deleted as well.
dis.Delete(true);
// Delete the directory.
di.Delete(true);
}
}
open System.IO
// Make a reference to a directory.
let di = DirectoryInfo "TempDir"
// Create the directory only if it does not already exist.
if not di.Exists then
di.Create()
// Create a subdirectory in the directory just created.
let dis = di.CreateSubdirectory "SubDir"
// Process that directory as required.
// ...
// Delete the subdirectory. The true indicates that if subdirectories
// or files are in this directory, they are to be deleted as well.
dis.Delete true
// Delete the directory.
di.Delete true
Imports System.IO
Public Class DeleteTest
Public Shared Sub Main()
' Make a reference to a directory.
Dim di As New DirectoryInfo("TempDir")
' Create the directory only if it does not already exist.
If di.Exists = False Then
di.Create()
End If
Dim dis As DirectoryInfo = di.CreateSubdirectory("SubDir")
' Create a subdirectory in the directory just created.
' Process that directory as required.
' ...
' Delete the subdirectory. The true indicates that if subdirectories
' or files are in this directory, they are to be deleted as well.
dis.Delete(True)
' Delete the directory.
di.Delete(True)
End Sub
End Class
Observações
Se o DirectoryInfo não tiver ficheiros ou subdiretórios, este método elimina o DirectoryInfo mesmo se recursive for false. Tentar eliminar um DirectoryInfo que não está vazio quando recursive é false lança um IOException.
Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.