DirectoryInfo(String) Konstruktor

Definition

Initialisiert eine neue Instanz der DirectoryInfo-Klasse im angegebenen Pfad.

public:
 DirectoryInfo(System::String ^ path);
public DirectoryInfo (string path);
new System.IO.DirectoryInfo : string -> System.IO.DirectoryInfo
Public Sub New (path As String)

Parameter

path
String

Eine Zeichenfolge, die den Pfad angibt, auf dem die DirectoryInfo erstellt werden sollen.

Ausnahmen

path ist null.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

.NET Framework- und .NET Core-Versionen älter als 2.1: path enthält ungültige Zeichen wie ", <, >oder |.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

Beispiele

Im folgenden Beispiel wird dieser Konstruktor verwendet, um das angegebene Verzeichnis und Unterverzeichnis zu erstellen, und zeigt, dass ein Verzeichnis, das Unterverzeichnisse enthält, nicht gelöscht werden kann.

using namespace System;
using namespace System::IO;
int main()
{
   
   // Specify the directories you want to manipulate.
   DirectoryInfo^ di1 = gcnew DirectoryInfo( "c:\\MyDir" );
   DirectoryInfo^ di2 = gcnew DirectoryInfo( "c:\\MyDir\\temp" );
   try
   {
      
      // Create the directories.
      di1->Create();
      di2->Create();
      
      // 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." );
   }

}
using System;
using System.IO;

class Test
{
    public static void Main()
    {
        // Specify the directories you want to manipulate.
        DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");
        DirectoryInfo di2 = new DirectoryInfo(@"c:\MyDir\temp");

        try
        {
            // Create the directories.
            di1.Create();
            di2.Create();

            // 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"
let di2 = DirectoryInfo @"c:\MyDir\temp"

try
    // Create the directories.
    di1.Create()
    di2.Create()

    // 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")
        Dim di2 As DirectoryInfo = New DirectoryInfo("c:\MyDir\temp")
        Try
            ' Create the directories.
            di1.Create()
            di2.Create()
            ' 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 e As Exception
            Console.WriteLine("The Delete operation failed as expected.")
        End Try
    End Sub
End Class

Hinweise

Dieser Konstruktor überprüft nicht, ob ein Verzeichnis vorhanden ist. Dieser Konstruktor ist ein Platzhalter für eine Zeichenfolge, die für den Zugriff auf den Datenträger in nachfolgenden Vorgängen verwendet wird.

Der path Parameter kann ein Dateiname sein, einschließlich einer Datei auf einer UNC-Freigabe (Universal Naming Convention).

Achtung

Wenn Sie einen Zeichensatz mit einer bestimmten kulturellen Einstellung kompilieren und dieselben Zeichen mit einer anderen kulturellen Einstellung abrufen, sind die Zeichen möglicherweise nicht interpretierbar und können eine Ausnahme auslösen.

Eine Liste allgemeiner E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Gilt für:

Weitere Informationen