Directory.Delete Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Elimina una directory specificata e, facoltativamente, tutte le sottodirectory.
Overload
| Nome | Descrizione |
|---|---|
| Delete(String) |
Elimina una directory vuota da un percorso specificato. |
| Delete(String, Boolean) |
Elimina la directory specificata e, se indicato, eventuali sottodirectory e file nella directory. |
Delete(String)
- Origine:
- Directory.cs
- Origine:
- Directory.cs
- Origine:
- Directory.cs
- Origine:
- Directory.cs
- Origine:
- Directory.cs
Elimina una directory vuota da un percorso specificato.
public:
static void Delete(System::String ^ path);
public static void Delete(string path);
static member Delete : string -> unit
Public Shared Sub Delete (path As String)
Parametri
- path
- String
Nome della directory vuota da rimuovere. Questa directory deve essere scrivibile e vuota.
Eccezioni
Esiste un file con lo stesso nome e percorso specificato da path .
oppure
La directory è la directory di lavoro corrente dell'applicazione.
oppure
La directory specificata da path non è vuota.
oppure
La directory è di sola lettura o contiene un file di sola lettura.
oppure
La directory viene usata da un altro processo.
Il chiamante non dispone dell'autorizzazione richiesta.
.NET Framework e versioni di .NET Core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars().
path è null.
Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.
path non esiste o non è stato possibile trovare.
oppure
Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).
Esempio
Nell'esempio seguente viene illustrato come creare una nuova directory e sottodirectory e quindi eliminare solo la sottodirectory.
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string subPath = @"C:\NewDirectory\NewSubDirectory";
try
{
Directory.CreateDirectory(subPath);
Directory.Delete(subPath);
bool directoryExists = Directory.Exists(@"C:\NewDirectory");
bool subDirectoryExists = Directory.Exists(subPath);
Console.WriteLine("top-level directory exists: " + directoryExists);
Console.WriteLine("sub-directory exists: " + subDirectoryExists);
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.Message);
}
}
}
}
open System.IO
let subPath = @"C:\NewDirectory\NewSubDirectory"
try
Directory.CreateDirectory subPath |> ignore
Directory.Delete subPath
let directoryExists = Directory.Exists @"C:\NewDirectory"
let subDirectoryExists = Directory.Exists subPath
printfn $"top-level directory exists: {directoryExists}"
printfn $"sub-directory exists: {subDirectoryExists}"
with e ->
printfn $"The process failed: {e.Message}"
Imports System.IO
Module Module1
Sub Main()
Dim subPath = "C:\NewDirectory\NewSubDirectory"
Try
Directory.CreateDirectory(subPath)
Directory.Delete(subPath)
Dim directoryExists = Directory.Exists("C:\NewDirectory")
Dim subDirectoryExists = Directory.Exists(subPath)
Console.WriteLine("top-level directory exists: " & directoryExists)
Console.WriteLine("sub-directory exists: " & subDirectoryExists)
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.Message)
End Try
End Sub
End Module
Commenti
Questo metodo si comporta in modo identico a Delete(String, Boolean) quello false specificato per il secondo parametro.
Il path parametro può specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.
Gli spazi finali vengono rimossi dalla fine del path parametro prima di eliminare la directory.
Questo metodo genera un'eccezione IOException se la directory specificata nel path parametro contiene file o sottodirectory.
La distinzione tra maiuscole e minuscole del path parametro corrisponde a quella del file system in cui è in esecuzione il codice. Ad esempio, non fa distinzione tra maiuscole e minuscole in NTFS (file system Windows predefinito) e fa distinzione tra maiuscole e minuscole nei file system Linux.
In alcuni casi, se la directory specificata è aperta in Esplora file, il Delete metodo potrebbe non essere in grado di eliminarlo.
Vedi anche
Si applica a
Delete(String, Boolean)
- Origine:
- Directory.cs
- Origine:
- Directory.cs
- Origine:
- Directory.cs
- Origine:
- Directory.cs
- Origine:
- Directory.cs
Elimina la directory specificata e, se indicato, eventuali sottodirectory e file nella directory.
public:
static void Delete(System::String ^ path, bool recursive);
public static void Delete(string path, bool recursive);
static member Delete : string * bool -> unit
Public Shared Sub Delete (path As String, recursive As Boolean)
Parametri
- path
- String
Nome della directory da rimuovere.
- recursive
- Boolean
true per rimuovere directory, sottodirectory e file in ; in pathcaso contrario, false.
Eccezioni
Esiste un file con lo stesso nome e percorso specificato da path .
oppure
La directory specificata da path è di sola lettura o recursive è false e path non è una directory vuota.
oppure
La directory è la directory di lavoro corrente dell'applicazione.
oppure
La directory contiene un file di sola lettura.
oppure
La directory viene usata da un altro processo.
Il chiamante non dispone dell'autorizzazione richiesta.
.NET Framework e versioni di .NET Core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars().
path è null.
Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.
path non esiste o non è stato possibile trovare.
oppure
Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).
Esempio
Nell'esempio seguente viene illustrato come creare una nuova directory, sottodirectory e file nella sottodirectory e quindi eliminare in modo ricorsivo tutti i nuovi elementi.
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string topPath = @"C:\NewDirectory";
string subPath = @"C:\NewDirectory\NewSubDirectory";
try
{
Directory.CreateDirectory(subPath);
using (StreamWriter writer = File.CreateText(subPath + @"\example.txt"))
{
writer.WriteLine("content added");
}
Directory.Delete(topPath, true);
bool directoryExists = Directory.Exists(topPath);
Console.WriteLine("top-level directory exists: " + directoryExists);
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.Message);
}
}
}
}
open System.IO
let topPath = @"C:\NewDirectory"
let subPath = @"C:\NewDirectory\NewSubDirectory"
try
Directory.CreateDirectory(subPath) |> ignore
do
use writer = File.CreateText(subPath + @"\example.txt")
writer.WriteLine "content added"
Directory.Delete(topPath, true)
let directoryExists = Directory.Exists topPath
printfn $"top-level directory exists: {directoryExists}"
with e ->
printfn $"The process failed: {e.Message}"
Imports System.IO
Module Module1
Sub Main()
Dim topPath = "C:\NewDirectory"
Dim subPath = "C:\NewDirectory\NewSubDirectory"
Try
Directory.CreateDirectory(subPath)
Using writer As StreamWriter = File.CreateText(subPath + "\example.txt")
writer.WriteLine("content added")
End Using
Directory.Delete(topPath, True)
Dim directoryExists = Directory.Exists(topPath)
Console.WriteLine("top-level directory exists: " & directoryExists)
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.Message)
End Try
End Sub
End Module
Commenti
Il path parametro può specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.
Gli spazi finali vengono rimossi dalla fine del path parametro prima di eliminare la directory.
La distinzione tra maiuscole e minuscole del path parametro corrisponde a quella del file system in cui è in esecuzione il codice. Ad esempio, non fa distinzione tra maiuscole e minuscole in NTFS (file system Windows predefinito) e fa distinzione tra maiuscole e minuscole nei file system Linux.
Se il recursive parametro è true, l'utente deve disporre dell'autorizzazione di scrittura per la directory corrente e per tutte le sottodirectory.
Il comportamento di questo metodo è leggermente diverso quando si elimina una directory contenente un punto reparse, ad esempio un collegamento simbolico o un punto di montaggio. Se il punto reparse è una directory, ad esempio un punto di montaggio, viene smontato e il punto di montaggio viene eliminato. Questo metodo non si ripete attraverso il punto reparse. Se il punto reparse è un collegamento simbolico a un file, il punto reparse viene eliminato e non la destinazione del collegamento simbolico.
In alcuni casi, se la directory specificata è aperta in Esplora file, il Delete metodo potrebbe non essere in grado di eliminarlo.