Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Directory.Delete (String, Boolean)

 

Data di pubblicazione: ottobre 2016

Elimina la directory specificata e, se indicate, le sottodirectory e i file in essa contenuti.

Spazio dei nomi:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

public static void Delete(
	string path,
	bool recursive
)

Parametri

path
Type: System.String

Nome della directory da rimuovere.

recursive
Type: System.Boolean

true per rimuovere directory, sottodirectory e file in path; in caso contrario, false.

Exception Condition
IOException

Un file con lo stesso nome e percorso specificati da path esiste.

-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 è usata da un altro processo.

UnauthorizedAccessException

Il chiamante non dispone dell'autorizzazione richiesta.

ArgumentException

path è una stringa di lunghezza zero, contiene solo spazi vuoti oppure contiene uno o più caratteri non validi. È possibile cercare i caratteri non validi usando il metodo GetInvalidPathChars.

ArgumentNullException

path è null.

PathTooLongException

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, nelle piattaforme basate su Windows i percorsi non devono superare 248 caratteri e i nomi file non possono essere composti da più di 260 caratteri.

DirectoryNotFoundException

path non esiste o non è stato trovato.

-oppure-

Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.

The path parameter may specify relative or absolute path information. Relative path information is interpreted as relative to the current working directory. To obtain the current working directory, see M:System.IO.Directory.GetCurrentDirectory.

Trailing spaces are removed from the end of the path parameter before deleting the directory.

The path parameter is not case-sensitive.

If the recursive parameter is true, the user must have write permission for the current directory as well as for all subdirectories.

The behavior of this method differs slightly when deleting a directory that contains a reparse point, such as a symbolic link or a mount point. If the reparse point is a directory, such as a mount point, it is unmounted and the mount point is deleted. This method does not recurse through the reparse point. If the reparse point is a symbolic link to a file, the reparse point is deleted and not the target of the symbolic link.

In some cases, if you have the specified directory open in File Explorer, the M:System.IO.Directory.Delete(System.String,System.Boolean) method may not be able to delete it.

The following example shows how to create a new directory, subdirectory, and file in the subdirectory, and then recursively delete all the new items.

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);
            }
        }
    }
}

FileIOPermission

for writing to the specified directory. Associated enumeration: F:System.Security.Permissions.FileIOPermissionAccess.Write

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: