File.Delete(String) Metoda

Definicja

Usuwa określony plik.Deletes the specified file.

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 pliku, który ma zostać usunięty.The name of the file to be deleted. Symbole wieloznaczne nie są obsługiwane.Wildcard characters are not supported.

Wyjątki

path jest ciągiem o zerowej długości, zawiera tylko znak odstępu lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

Parametr path ma wartość null.path is null.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na dysku niezamapowanym).The specified path is invalid (for example, it is on an unmapped drive).

Określony plik jest w użyciu.The specified file is in use.

— lub —-or- Istnieje otwarte dojście do pliku, a system operacyjny to Windows XP lub wcześniejsza wersja.There is an open handle on the file, and the operating system is Windows XP or earlier. To otwarte dojście może wynikać z wyliczania katalogów i plików.This open handle can result from enumerating directories and files. Aby uzyskać więcej informacji, zobacz jak: Wyliczanie katalogów i plików.For more information, see How to: Enumerate Directories and Files.

path ma nieprawidłowy format.path is in an invalid format.

Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.The specified path, file name, or both exceed the system-defined maximum length.

Element wywołujący nie ma wymaganego uprawnienia.The caller does not have the required permission.

— lub —-or- Plik jest plikiem wykonywalnym, który jest używany.The file is an executable file that is in use.

— lub —-or- path jest katalogiem.path is a directory.

— lub —-or- path określono plik tylko do odczytu.path specified a read-only file.

Przykłady

Poniższy przykład kopiuje grupy plików do folderu kopii zapasowej C:\archives\2008, a następnie usuwa je z folderu źródłowego.The following example copies groups of files to the C:\archives\2008 backup folder and then deletes them from the source folder.

string sourceDir = @"c:\current";
string backupDir = @"c:\archives\2008";

try
{
    string[] picList = Directory.GetFiles(sourceDir, "*.jpg");
    string[] txtList = Directory.GetFiles(sourceDir, "*.txt");

    // Copy picture files.
    foreach (string f in picList)
    {
        // Remove path from the file name.
        string fName = f.Substring(sourceDir.Length + 1);

        // Use the Path.Combine method to safely append the file name to the path.
        // Will overwrite if the destination file already exists.
        File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName), true);
    }

    // Copy text files.
    foreach (string f in txtList)
    {

        // Remove path from the file name.
        string fName = f.Substring(sourceDir.Length + 1);

        try
        {
            // Will not overwrite if the destination file already exists.
            File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName));
        }

        // Catch exception if the file was already copied.
        catch (IOException copyError)
        {
            Console.WriteLine(copyError.Message);
        }
    }

    // Delete source files that were copied.
    foreach (string f in txtList)
    {
        File.Delete(f);
    }
    foreach (string f in picList)
    {
        File.Delete(f);
    }
}

catch (DirectoryNotFoundException dirNotFound)
{
    Console.WriteLine(dirNotFound.Message);
}

Dim sourceDir As String = "c:\current"
Dim backupDir As String = "c:\archives\2008"

Try
    Dim picList As String() = Directory.GetFiles(sourceDir, "*.jpg")
    Dim txtList As String() = Directory.GetFiles(sourceDir, "*.txt")

    ' Copy picture files.
    For Each f As String In picList
        'Remove path from the file name.
        Dim fName As String = f.Substring(sourceDir.Length + 1)

        ' Use the Path.Combine method to safely append the file name to the path.
        ' Will overwrite if the destination file already exists.
        File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName), True)
    Next

    ' Copy text files.
    For Each f As String In txtList

        'Remove path from the file name.
        Dim fName As String = f.Substring(sourceDir.Length + 1)

        Try
            ' Will not overwrite if the destination file already exists.
            File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName))

            ' Catch exception if the file was already copied.
        Catch copyError As IOException
            Console.WriteLine(copyError.Message)
        End Try
    Next

    For Each f As String In txtList
        File.Delete(f)
    Next

    For Each f As String In picList
        File.Delete(f)
    Next

Catch dirNotFound As DirectoryNotFoundException
    Console.WriteLine(dirNotFound.Message)
End Try

Uwagi

Określ nazwę pliku z informacjami o ścieżce względnej lub bezwzględnym dla parametru path.Specify a file name with any relative or absolute path information for the path parameter. Nie można dołączać symboli wieloznacznych.Wildcard characters cannot be included. Informacje o ścieżce względnej są interpretowane jako względne w stosunku do bieżącego katalogu roboczego.Relative path information is interpreted as relative to the current working directory. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Jeśli plik, który ma zostać usunięty, nie istnieje, nie jest zgłaszany żaden wyjątek.If the file to be deleted does not exist, no exception is thrown.

Aby uzyskać listę typowych zadań we/wy, zobacz typowe zadania we/wy.For a list of common I/O tasks, see Common I/O Tasks.

Dotyczy

Zobacz też