DirectoryInfo Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Macht Instanzmethoden zum Erstellen, Verschieben und Auflisten in Verzeichnissen und Unterverzeichnissen verfügbar. Diese Klasse kann nicht vererbt werden.
public ref class DirectoryInfo sealed : System::IO::FileSystemInfo
public sealed class DirectoryInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class DirectoryInfo : System.IO.FileSystemInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DirectoryInfo : System.IO.FileSystemInfo
type DirectoryInfo = class
inherit FileSystemInfo
[<System.Serializable>]
type DirectoryInfo = class
inherit FileSystemInfo
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DirectoryInfo = class
inherit FileSystemInfo
Public NotInheritable Class DirectoryInfo
Inherits FileSystemInfo
- Vererbung
- Vererbung
- Attribute
Beispiele
Im folgenden Beispiel werden einige der Standard Member der DirectoryInfo
-Klasse veranschaulicht.
using namespace System;
using namespace System::IO;
int main()
{
// Specify the directories you want to manipulate.
DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\MyDir" );
try
{
// Determine whether the directory exists.
if ( di->Exists )
{
// Indicate that the directory already exists.
Console::WriteLine( "That path exists already." );
return 0;
}
// Try to create the directory.
di->Create();
Console::WriteLine( "The directory was created successfully." );
// Delete the directory.
di->Delete();
Console::WriteLine( "The directory was deleted successfully." );
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
using System;
using System.IO;
class Test
{
public static void Main()
{
// Specify the directories you want to manipulate.
DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
try
{
// Determine whether the directory exists.
if (di.Exists)
{
// Indicate that the directory already exists.
Console.WriteLine("That path exists already.");
return;
}
// Try to create the directory.
di.Create();
Console.WriteLine("The directory was created successfully.");
// Delete the directory.
di.Delete();
Console.WriteLine("The directory was deleted successfully.");
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally {}
}
}
open System.IO
// Specify the directories you want to manipulate.
let di = DirectoryInfo @"c:\MyDir"
try
// Determine whether the directory exists.
if di.Exists then
// Indicate that the directory already exists.
printfn "That path exists already."
else
// Try to create the directory.
di.Create()
printfn "The directory was created successfully."
// Delete the directory.
di.Delete()
printfn "The directory was deleted successfully."
with e ->
printfn $"The process failed: {e}"
Imports System.IO
Public Class Test
Public Shared Sub Main()
' Specify the directories you want to manipulate.
Dim di As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Try
' Determine whether the directory exists.
If di.Exists Then
' Indicate that it already exists.
Console.WriteLine("That path exists already.")
Return
End If
' Try to create the directory.
di.Create()
Console.WriteLine("The directory was created successfully.")
' Delete the directory.
di.Delete()
Console.WriteLine("The directory was deleted successfully.")
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Im folgenden Beispiel wird veranschaulicht, wie ein Verzeichnis und dessen Inhalt kopiert werden.
using System;
using System.IO;
class CopyDir
{
public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
if (source.FullName.ToLower() == target.FullName.ToLower())
{
return;
}
// Check if the target directory exists, if not, create it.
if (Directory.Exists(target.FullName) == false)
{
Directory.CreateDirectory(target.FullName);
}
// Copy each file into it's new directory.
foreach (FileInfo fi in source.GetFiles())
{
Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
}
// Copy each subdirectory using recursion.
foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
{
DirectoryInfo nextTargetSubDir =
target.CreateSubdirectory(diSourceSubDir.Name);
CopyAll(diSourceSubDir, nextTargetSubDir);
}
}
public static void Main()
{
string sourceDirectory = @"c:\sourceDirectory";
string targetDirectory = @"c:\targetDirectory";
DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);
CopyAll(diSource, diTarget);
}
// Output will vary based on the contents of the source directory.
}
open System.IO
let rec copyAll (source: DirectoryInfo) (target: DirectoryInfo) =
if source.FullName.ToLower() <> target.FullName.ToLower() then
// Check if the target directory exists, if not, create it.
if not (Directory.Exists target.FullName) then
Directory.CreateDirectory target.FullName |> ignore
// Copy each file into it's new directory.
for fi in source.GetFiles() do
printfn $@"Copying {target.FullName}\{fi.Name}"
fi.CopyTo(Path.Combine(string target, fi.Name), true) |> ignore
// Copy each subdirectory using recursion.
for diSourceSubDir in source.GetDirectories() do
target.CreateSubdirectory diSourceSubDir.Name
|> copyAll diSourceSubDir
let sourceDirectory = @"c:\sourceDirectory"
let targetDirectory = @"c:\targetDirectory"
let diSource = DirectoryInfo sourceDirectory
let diTarget = DirectoryInfo targetDirectory
copyAll diSource diTarget
// Output will vary based on the contents of the source directory.
Imports System.IO
Class CopyDir
Shared Sub CopyAll(ByVal source As DirectoryInfo, ByVal target As DirectoryInfo)
If (source.FullName.ToLower() = target.FullName.ToLower()) Then
Return
End If
' Check if the target directory exists, if not, create it.
If Directory.Exists(target.FullName) = False Then
Directory.CreateDirectory(target.FullName)
End If
' Copy each file into it's new directory.
For Each fi As FileInfo In source.GetFiles()
Console.WriteLine("Copying {0}\{1}", target.FullName, fi.Name)
fi.CopyTo(Path.Combine(target.ToString(), fi.Name), True)
Next
' Copy each subdirectory using recursion.
For Each diSourceSubDir As DirectoryInfo In source.GetDirectories()
Dim nextTargetSubDir As DirectoryInfo = target.CreateSubdirectory(diSourceSubDir.Name)
CopyAll(diSourceSubDir, nextTargetSubDir)
Next
End Sub
Shared Sub Main()
Dim sourceDirectory As String = "c:\\sourceDirectory"
Dim targetDirectory As String = "c:\\targetDirectory"
Dim diSource As DirectoryInfo = New DirectoryInfo(sourceDirectory)
Dim diTarget As DirectoryInfo = New DirectoryInfo(targetDirectory)
CopyAll(diSource, diTarget)
End Sub
' Output will vary based on the contents of the source directory.
End Class
Hinweise
Verwenden Sie die DirectoryInfo -Klasse für typische Vorgänge wie Kopieren, Verschieben, Umbenennen, Erstellen und Löschen von Verzeichnissen.
Wenn Sie ein Objekt mehrmals wiederverwenden möchten, sollten Sie die instance-Methode von DirectoryInfo anstelle der entsprechenden statischen Methoden der Directory -Klasse verwenden, da eine Sicherheitsüberprüfung nicht immer erforderlich ist.
Hinweis
In Membern, die einen Pfad als Eingabezeichenfolge akzeptieren, muss dieser Pfad wohlgeformt sein, oder es wird eine Ausnahme ausgelöst. Wenn z. B. ein Pfad voll qualifiziert ist, aber mit einem Leerzeichen beginnt, wird der Pfad in Methoden der -Klasse nicht gekürzt. Daher ist der Pfad falsch formatiert, und es wird eine Ausnahme ausgelöst. Ebenso kann ein Pfad oder eine Kombination von Pfaden nicht zweimal vollständig qualifiziert werden. Beispielsweise löst "c:\temp c:\windows" in den meisten Fällen auch eine Ausnahme aus. Stellen Sie sicher, dass Ihre Pfade wohlgeformt sind, wenn Sie Methoden verwenden, die eine Pfadzeichenfolge akzeptieren.
In Membern, die einen Pfad akzeptieren, kann der Pfad auf eine Datei oder nur auf ein Verzeichnis verweisen. Der angegebene Pfad kann auch auf einen relativen Pfad oder einen UNC-Pfad (Universal Naming Convention) für einen Server- und Freigabenamen verweisen. Beispielsweise sind alle folgenden Pfade akzeptabel:
"c:\\MyDir\\MyFile.txt" in C# oder "c:\MyDir\MyFile.txt" in Visual Basic.
"c:\\MyDir" in C# oder "c:\MyDir" in Visual Basic.
"MyDir\\MySubdir" in C# oder "MyDir\MySubDir" in Visual Basic.
"\\\\MyServer\\MyShare" in C# oder "\\MyServer\MyShare" in Visual Basic.
Standardmäßig wird allen Benutzern vollständiger Lese-/Schreibzugriff auf neue Verzeichnisse gewährt.
Eine Liste allgemeiner E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.
Konstruktoren
DirectoryInfo(String) |
Initialisiert eine neue Instanz der DirectoryInfo-Klasse im angegebenen Pfad. |
Felder
FullPath |
Stellt den vollqualifizierten Pfad des Verzeichnisses oder der Datei dar. (Geerbt von FileSystemInfo) |
OriginalPath |
Der ursprünglich vom Benutzer angegebene Pfad, relativ oder absolut. (Geerbt von FileSystemInfo) |
Eigenschaften
Attributes |
Ruft die Attribute für die aktuelle Datei oder das aktuelle Verzeichnis ab oder legt diese fest. (Geerbt von FileSystemInfo) |
CreationTime |
Ruft den Erstellungszeitpunkt der aktuellen Datei oder des aktuellen Verzeichnisses ab oder legt diesen fest. (Geerbt von FileSystemInfo) |
CreationTimeUtc |
Ruft die Erstellungszeit der aktuellen Datei oder des aktuellen Verzeichnisses im UTC-Format (Coordinated Universal Time) ab oder legt diese fest. (Geerbt von FileSystemInfo) |
Exists |
Ruft einen Wert ab, der angibt, ob das Verzeichnis vorhanden ist. |
Extension |
Ruft den Erweiterungsteil des Dateinamens ab, einschließlich des führenden Punkts |
FullName |
Ruft den vollständigen Pfad des Verzeichnisses ab. |
FullName |
Ruft den vollständigen Pfad des Verzeichnisses oder der Datei ab. (Geerbt von FileSystemInfo) |
LastAccessTime |
Ruft den Zeitpunkt des letzten Zugriffs auf die aktuelle Datei oder das aktuelle Verzeichnis ab oder legt diesen fest. (Geerbt von FileSystemInfo) |
LastAccessTimeUtc |
Ruft den Zeitpunkt des letzten Zugriffs auf die aktuelle Datei bzw. das aktuelle Verzeichnis im UTC-Format (Coordinated Universal Time) ab oder legt diesen fest. (Geerbt von FileSystemInfo) |
LastWriteTime |
Ruft den Zeitpunkt des letzten Schreibzugriffs auf die aktuelle Datei oder das aktuelle Verzeichnis ab oder legt diesen fest. (Geerbt von FileSystemInfo) |
LastWriteTimeUtc |
Ruft den Zeitpunkt des letzten Schreibens in die aktuelle Datei oder das aktuelle Verzeichnis im UTC-Format (Coordinated Universal Time) ab oder legt diesen fest. (Geerbt von FileSystemInfo) |
LinkTarget |
Ruft den Zielpfad des Links in FullNameoder ab, |
Name |
Ruft den Namen dieser DirectoryInfo-Instanz ab. |
Parent |
Ruft das übergeordnete Verzeichnis eines angegebenen Unterverzeichnisses ab. |
Root |
Ruft den Stammteil des Verzeichnisses ab. |
UnixFileMode |
Ruft den Unix-Dateimodus für die aktuelle Datei oder das aktuelle Verzeichnis ab oder legt diese fest. (Geerbt von FileSystemInfo) |
Methoden
Create() |
Erstellt ein Verzeichnis. |
Create(DirectorySecurity) |
Erstellt mithilfe eines DirectorySecurity-Objekts ein Verzeichnis. |
CreateAsSymbolicLink(String) |
Erstellt einen symbolischen Link in FullName , der auf die angegebene |
CreateObjRef(Type) |
Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Geerbt von MarshalByRefObject) |
CreateSubdirectory(String) |
Erstellt ein oder mehrere Unterverzeichnisse im angegebenen Pfad. Der angegebene Pfad kann zu dieser Instanz der DirectoryInfo-Klasse relativ sein. |
CreateSubdirectory(String, DirectorySecurity) |
Erstellt ein oder mehrere Unterverzeichnisse im angegebenen Pfad mit der angegebenen Sicherheit. Der angegebene Pfad kann zu dieser Instanz der DirectoryInfo-Klasse relativ sein. |
Delete() |
Löscht diese DirectoryInfo, wenn diese leer sind. |
Delete(Boolean) |
Löscht diese Instanz von DirectoryInfo und gibt an, ob Unterverzeichnisse und Dateien gelöscht werden sollen. |
EnumerateDirectories() |
Gibt eine aufzählbare Auflistung von Verzeichnisinformationen im aktuellen Verzeichnis zurück. |
EnumerateDirectories(String) |
Gibt eine aufzählbare Auflistung von Verzeichnisinformationen zurück, die einem angegebenen Suchmuster entsprechen. |
EnumerateDirectories(String, EnumerationOptions) |
Gibt eine aufzählbare Sammlung von Verzeichnisinformationen zurück, die dem angegebenen Suchmuster und der angegebenen Option entspricht |
EnumerateDirectories(String, SearchOption) |
Gibt eine aufzählbare Auflistung von Verzeichnisinformationen zurück, die einem angegebenen Suchmuster und einer angegebenen Option zum Durchsuchen von Unterverzeichnissen entspricht. |
EnumerateFiles() |
Gibt eine aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück. |
EnumerateFiles(String) |
Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem Suchmuster entsprechen. |
EnumerateFiles(String, EnumerationOptions) |
Gibt eine aufzählbare Sammlung von Dateiinformationen zurück, die dem angegebenen Suchmuster und der angegebenen Enumerationsoptionen entspricht |
EnumerateFiles(String, SearchOption) |
Gibt eine aufzählbare Auflistung von Dateiinformationen zurück, die einem angegebenen Suchmuster und einer angegebenen Option zum Durchsuchen von Unterverzeichnissen entspricht. |
EnumerateFileSystemInfos() |
Gibt eine aufzählbare Auflistung von Systeminformationen im aktuellen Verzeichnis zurück. |
EnumerateFileSystemInfos(String) |
Gibt eine aufzählbare Auflistung von Dateisysteminformationen zurück, die einem angegebenen Suchmuster entsprechen. |
EnumerateFileSystemInfos(String, EnumerationOptions) |
Gibt eine aufzählbare Sammlung von Dateisysteminformationen zurück, die dem angegebenen Suchmuster und der angegebenen Enumerationsoptionen entspricht |
EnumerateFileSystemInfos(String, SearchOption) |
Gibt eine aufzählbare Auflistung von Dateisysteminformationen zurück, die einem angegebenen Suchmuster und einer angegebenen Option zum Durchsuchen von Unterverzeichnissen entspricht. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetAccessControl() |
Ruft ein DirectorySecurity-Objekt ab, das die Einträge in der Zugriffssteuerungsliste für das Verzeichnis kapselt, das vom aktuellen DirectoryInfo-Objekt beschrieben wird. |
GetAccessControl(AccessControlSections) |
Ruft ein DirectorySecurity-Objekt ab, das den angegebenen Typ der Einträge in der Zugriffssteuerungsliste für das Verzeichnis kapselt, das vom aktuellen DirectoryInfo-Objekt beschrieben wird. |
GetDirectories() |
Gibt die Unterverzeichnisse des aktuellen Verzeichnisses zurück. |
GetDirectories(String) |
Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, die den angegebenen Suchkriterien entsprechen. |
GetDirectories(String, EnumerationOptions) |
Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, das dem angegebenen Suchmuster und den angegebenen Enumerationsoptionen entspricht. |
GetDirectories(String, SearchOption) |
Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, die den angegebenen Suchkriterien entsprechen. Anhand eines Werts wird bestimmt, ob in Unterverzeichnissen gesucht wird. |
GetFiles() |
Gibt eine Dateiliste des aktuellen Verzeichnisses zurück. |
GetFiles(String) |
Gibt eine Dateiliste des aktuellen Verzeichnisses zurück, das dem angegebenen Suchmuster entspricht. |
GetFiles(String, EnumerationOptions) |
Gibt eine Liste der Dateien im aktuellen Verzeichnis zurück, die dem angegebenen Suchmuster und den angegebenen Enumerationsoptionen entsprechen. |
GetFiles(String, SearchOption) |
Gibt eine Dateiliste des aktuellen Verzeichnisses zurück, das dem angegebenen Suchmuster entspricht. Anhand eines Werts wird bestimmt, ob in Unterverzeichnissen gesucht wird. |
GetFileSystemInfos() |
Gibt ein Array von stark typisierten FileSystemInfo-Einträgen zurück, das alle Dateien und Unterverzeichnisse in einem Verzeichnis darstellt. |
GetFileSystemInfos(String) |
Ruft ein Array von stark typisierten FileSystemInfo-Objekten ab, das die Dateien und Unterverzeichnisse darstellt, die den angegebenen Suchkriterien entsprechen. |
GetFileSystemInfos(String, EnumerationOptions) |
Ruft ein Array von stark typisierten FileSystemInfo-Objekten ab, das die Dateien und Unterverzeichnisse darstellt, die dem angegebenen Suchmuster und den angegebenen Enumerationsoptionen entsprechen. |
GetFileSystemInfos(String, SearchOption) |
Ruft ein Array von FileSystemInfo-Objekten ab, die die Dateien und Unterverzeichnisse darstellen, die den angegebenen Suchkriterien entsprechen. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Veraltet.
Legt das SerializationInfo-Objekt mit dem Dateinamen und zusätzlichen Informationen zur Ausnahme fest. (Geerbt von FileSystemInfo) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab. (Geerbt von MarshalByRefObject) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Geerbt von MarshalByRefObject) |
MoveTo(String) |
Verschiebt eine DirectoryInfo-Instanz und deren Inhalt in einen neuen Pfad. |
Refresh() |
Aktualisiert den Zustand des Objekts. (Geerbt von FileSystemInfo) |
ResolveLinkTarget(Boolean) |
Ruft das Ziel des angegebenen Links ab. (Geerbt von FileSystemInfo) |
SetAccessControl(DirectorySecurity) |
Wendet von einem DirectorySecurity-Objekt beschriebene Einträge in Zugriffssteuerungslisten auf die Datei an, die vom aktuellen DirectoryInfo-Objekt beschrieben wird. |
ToString() |
Gibt den ursprünglichen Pfad zurück, der an den Konstruktor DirectoryInfo übergeben wurde. Verwenden Sie die Eigenschaft FullName bzw. Name für den vollständigen Pfad bzw. den Datei- und Verzeichnisnamen anstatt dieser Methode. |
ToString() |
Gibt den ursprünglichen Pfad zurück. Verwenden Sie die Eigenschaft FullName bzw. Name für den vollständigen Pfad bzw. den Datei- und Verzeichnisnamen. (Geerbt von FileSystemInfo) |
Erweiterungsmethoden
Create(DirectoryInfo, DirectorySecurity) |
Erstellt ein neues Verzeichnis, wobei sichergestellt wird, dass es mit der angegebenen Verzeichnissicherheit erstellt wird. Wenn das Verzeichnis bereits vorhanden ist, wird nichts unternommen. |
GetAccessControl(DirectoryInfo) |
Gibt die Sicherheitsinformationen eines Verzeichnisses zurück. |
GetAccessControl(DirectoryInfo, AccessControlSections) |
Gibt die Sicherheitsinformationen eines Verzeichnisses zurück. |
SetAccessControl(DirectoryInfo, DirectorySecurity) |
Ändert die Sicherheitsattribute eines vorhandenen Verzeichnisses. |