Directory.Delete Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Usuwa określony katalog i opcjonalnie wszystkie podkatalogi.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Delete(String) |
Usuwa pusty katalog z określonej ścieżki. |
| Delete(String, Boolean) |
Usuwa określony katalog i, jeśli zostanie wskazany, wszystkie podkatalogi i pliki w katalogu. |
Delete(String)
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
Usuwa pusty katalog z określonej ścieżki.
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)
Parametry
- path
- String
Nazwa pustego katalogu do usunięcia. Ten katalog musi być zapisywalny i pusty.
Wyjątki
Plik o tej samej nazwie i lokalizacji określonej przez path program istnieje.
— lub —
Katalog jest bieżącym katalogem roboczym aplikacji.
— lub —
Katalog określony przez path nie jest pusty.
— lub —
Katalog jest tylko do odczytu lub zawiera plik tylko do odczytu.
— lub —
Katalog jest używany przez inny proces.
Obiekt wywołujący nie ma wymaganych uprawnień.
Wersje .NET Framework i .NET Core starsze niż 2.1: path to ciąg o zerowej długości, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars() metody .
Parametr path ma wartość null.
Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.
path nie istnieje lub nie można go odnaleźć.
— lub —
Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).
Przykłady
W poniższym przykładzie pokazano, jak utworzyć nowy katalog i podkatalog, a następnie usunąć tylko podkatalog.
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
Uwagi
Ta metoda zachowuje się identycznie jak Delete(String, Boolean) w false przypadku określonego dla drugiego parametru.
Parametr path może określać informacje o ścieżce względnej lub bezwzględnej. Informacje o ścieżce względnej są interpretowane jako względem bieżącego katalogu roboczego. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.
Spacje końcowe są usuwane z końca parametru path przed usunięciem katalogu.
Ta metoda zgłasza błąd IOException , jeśli katalog określony w parametrze path zawiera pliki lub podkatalogi.
Wielkość liter parametru path odpowiada ważności liter systemu plików, na którym jest uruchomiony kod. Na przykład nie jest rozróżniana wielkość liter w systemie plików NTFS (domyślny system plików systemu Windows) i uwzględnia wielkość liter w systemach plików systemu Linux.
W niektórych przypadkach, jeśli określony katalog jest otwarty w Eksploratorze plików, Delete metoda może nie być w stanie go usunąć.
Zobacz też
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
Delete(String, Boolean)
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
Usuwa określony katalog i, jeśli zostanie wskazany, wszystkie podkatalogi i pliki w katalogu.
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)
Parametry
- path
- String
Nazwa katalogu do usunięcia.
- recursive
- Boolean
true aby usunąć katalogi, podkatalogi i pliki w pliku ; w pathprzeciwnym razie false.
Wyjątki
Plik o tej samej nazwie i lokalizacji określonej przez path program istnieje.
— lub —
Katalog określony przez path jest tylko do odczytu lub recursive jest false i path nie jest pustym katalogiem.
— lub —
Katalog jest bieżącym katalogem roboczym aplikacji.
— lub —
Katalog zawiera plik tylko do odczytu.
— lub —
Katalog jest używany przez inny proces.
Obiekt wywołujący nie ma wymaganych uprawnień.
Wersje .NET Framework i .NET Core starsze niż 2.1: path to ciąg o zerowej długości, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars() metody .
Parametr path ma wartość null.
Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.
path nie istnieje lub nie można go odnaleźć.
— lub —
Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).
Przykłady
W poniższym przykładzie pokazano, jak utworzyć nowy katalog, podkatalog i plik w podkatalogu, a następnie cyklicznie usunąć wszystkie nowe elementy.
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
Uwagi
Parametr path może określać informacje o ścieżce względnej lub bezwzględnej. Informacje o ścieżce względnej są interpretowane jako względem bieżącego katalogu roboczego. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.
Spacje końcowe są usuwane z końca parametru path przed usunięciem katalogu.
Wielkość liter parametru path odpowiada ważności liter systemu plików, na którym jest uruchomiony kod. Na przykład nie jest rozróżniana wielkość liter w systemie plików NTFS (domyślny system plików systemu Windows) i uwzględnia wielkość liter w systemach plików systemu Linux.
recursive Jeśli parametr ma truewartość , użytkownik musi mieć uprawnienia do zapisu dla bieżącego katalogu, a także dla wszystkich podkatalogów.
Zachowanie tej metody różni się nieznacznie podczas usuwania katalogu zawierającego punkt ponownej analizy, taki jak łącze symboliczne lub punkt instalacji. Jeśli punkt ponownej analizy jest katalogiem, takim jak punkt instalacji, jest on niezainstalowany i punkt instalacji zostanie usunięty. Ta metoda nie jest powtarzana przez punkt ponownej analizy. Jeśli punkt ponownej analizy jest łączem symbolicznym do pliku, punkt ponownej analizy zostanie usunięty, a nie element docelowy łącza symbolicznego.
W niektórych przypadkach, jeśli określony katalog jest otwarty w Eksploratorze plików, Delete metoda może nie być w stanie go usunąć.
Zobacz też
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku