DirectoryInfo Třída

Definice

Zpřístupňuje metody instance pro vytváření, přesouvání a vytváření výčtu adresářů a podadresářů.Exposes instance methods for creating, moving, and enumerating through directories and subdirectories. Tuto třídu nelze zdědit.This class cannot be inherited.

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
Dědičnost
DirectoryInfo
Dědičnost
Atributy

Příklady

Následující příklad ukazuje některé z hlavních členů DirectoryInfo třídy.The following example demonstrates some of the main members of the DirectoryInfo class.

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 {}
    }
}
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

Následující příklad ukazuje, jak kopírovat adresář a jeho obsah.The following example demonstrates how to copy a directory and its contents.

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.
}
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

Poznámky

Použijte DirectoryInfo třídu pro typické operace, jako je kopírování, přesunutí, přejmenování, vytváření a odstraňování adresářů.Use the DirectoryInfo class for typical operations such as copying, moving, renaming, creating, and deleting directories.

Pokud budete chtít znovu použít objekt několikrát, zvažte použití metody instance DirectoryInfo namísto odpovídajících statických metod Directory třídy, protože kontroly zabezpečení nebudou vždy nutné.If you are going to reuse an object several times, consider using the instance method of DirectoryInfo instead of the corresponding static methods of the Directory class, because a security check will not always be necessary.

Poznámka

V členech, které přijímají cestu jako vstupní řetězec, musí být tato cesta ve správném formátu nebo vyvolána výjimka.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Například pokud je cesta plně kvalifikovaná, ale začíná mezerou, cesta není zkrácena v metodách třídy.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Proto je cesta poškozená a vyvolá se výjimka.Therefore, the path is malformed and an exception is raised. Podobně cesta nebo kombinace cest nemůže být plně kvalifikované dvakrát.Similarly, a path or a combination of paths cannot be fully qualified twice. Například "c:\temp c:\Windows" také ve většině případů vyvolá výjimku.For example, "c:\temp c:\windows" also raises an exception in most cases. Při použití metod, které přijímají řetězec cesty, se ujistěte, že jsou vaše cesty ve správném formátu.Ensure that your paths are well-formed when using methods that accept a path string.

V členech, které přijímají cestu, může cesta odkazovat na soubor nebo pouze na adresář.In members that accept a path, the path can refer to a file or just a directory. Zadaná cesta může také odkazovat na relativní cestu nebo cestu UNC (Universal Naming Convention) pro server a název sdílené složky.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Například všechny následující jsou přijatelné cesty:For example, all the following are acceptable paths:

  • "c: \ \MyDir \\MyFile.txt" v jazyce C# nebo "c:\MyDir\MyFile.txt" v Visual Basic."c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c: \ \MyDir" v jazyce C# nebo "c:\MyDir" v Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "MyDir \ \MySubdir" v jazyce C# nebo "MyDir\MySubDir" ve Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • " \ \ \ \MyServer \ \MyShare" v jazyce C# nebo " \ \MyServer\MyShare" ve Visual Basic."\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

Ve výchozím nastavení je úplný přístup pro čtení a zápis k novým adresářům udělen všem uživatelům.By default, full read/write access to new directories is granted to all users.

Seznam běžných vstupně-výstupních úloh najdete v tématu běžné vstupně-výstupní úlohy.For a list of common I/O tasks, see Common I/O Tasks.

Konstruktory

DirectoryInfo(String)

Inicializuje novou instanci DirectoryInfo třídy v zadané cestě.Initializes a new instance of the DirectoryInfo class on the specified path.

Pole

FullPath

Představuje plně kvalifikovanou cestu k adresáři nebo souboru.Represents the fully qualified path of the directory or file.

(Zděděno od FileSystemInfo)
OriginalPath

Cesta původně zadaná uživatelem, ať už relativní, nebo absolutní.The path originally specified by the user, whether relative or absolute.

(Zděděno od FileSystemInfo)

Vlastnosti

Attributes

Získá nebo nastaví atributy pro aktuální soubor nebo adresář.Gets or sets the attributes for the current file or directory.

(Zděděno od FileSystemInfo)
CreationTime

Získá nebo nastaví čas vytvoření aktuálního souboru nebo adresáře.Gets or sets the creation time of the current file or directory.

(Zděděno od FileSystemInfo)
CreationTimeUtc

Získá nebo nastaví čas vytvoření aktuálního souboru nebo adresáře v koordinovaném světovým čase (UTC).Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

(Zděděno od FileSystemInfo)
Exists

Načte hodnotu, která označuje, jestli adresář existuje.Gets a value indicating whether the directory exists.

Extension

Získá řetězec představující část rozšíření souboru.Gets the string representing the extension part of the file.

(Zděděno od FileSystemInfo)
FullName

Získá úplnou cestu k adresáři.Gets the full path of the directory.

FullName

Načte úplnou cestu k adresáři nebo souboru.Gets the full path of the directory or file.

(Zděděno od FileSystemInfo)
LastAccessTime

Získá nebo nastaví čas, kdy byl aktuální soubor nebo adresář naposledy otevřen.Gets or sets the time the current file or directory was last accessed.

(Zděděno od FileSystemInfo)
LastAccessTimeUtc

Získá nebo nastaví čas, ve koordinovaném světový čas (UTC), kdy byl naposledy použit aktuální soubor nebo adresář.Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

(Zděděno od FileSystemInfo)
LastWriteTime

Získá nebo nastaví čas, kdy byl naposledy zapsán aktuální soubor nebo adresář.Gets or sets the time when the current file or directory was last written to.

(Zděděno od FileSystemInfo)
LastWriteTimeUtc

Získá nebo nastaví čas ve standardu UTC (Coordinated Universal Time), kdy se aktuální soubor nebo adresář naposledy zapsal do.Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

(Zděděno od FileSystemInfo)
Name

Získá název této DirectoryInfo instance.Gets the name of this DirectoryInfo instance.

Parent

Načte nadřazený adresář zadaného podadresáře.Gets the parent directory of a specified subdirectory.

Root

Získá kořenovou část adresáře.Gets the root portion of the directory.

Metody

Create()

Vytvoří adresář.Creates a directory.

Create(DirectorySecurity)

Vytvoří adresář pomocí DirectorySecurity objektu.Creates a directory using a DirectorySecurity object.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace požadované pro vygenerování proxy serveru, který se používá ke komunikaci se vzdáleným objektem.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Zděděno od MarshalByRefObject)
CreateSubdirectory(String)

Vytvoří podadresář nebo podadresáře na zadané cestě.Creates a subdirectory or subdirectories on the specified path. Zadaná cesta může být relativní k této instanci DirectoryInfo třídy.The specified path can be relative to this instance of the DirectoryInfo class.

CreateSubdirectory(String, DirectorySecurity)

Vytvoří podadresář nebo podadresáře na zadané cestě se zadaným zabezpečením.Creates a subdirectory or subdirectories on the specified path with the specified security. Zadaná cesta může být relativní k této instanci DirectoryInfo třídy.The specified path can be relative to this instance of the DirectoryInfo class.

Delete()

Odstraní tuto DirectoryInfo hodnotu, pokud je prázdná.Deletes this DirectoryInfo if it is empty.

Delete(Boolean)

Odstraní tuto instanci a DirectoryInfo a určí, jestli se mají odstraňovat podadresáře a soubory.Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files.

EnumerateDirectories()

Vrátí vyčíslitelné shromažďování informací o adresáři v aktuálním adresáři.Returns an enumerable collection of directory information in the current directory.

EnumerateDirectories(String)

Vrátí vyčíslitelné shromažďování informací o adresáři, které odpovídají zadanému vyhledávacímu vzoru.Returns an enumerable collection of directory information that matches a specified search pattern.

EnumerateDirectories(String, EnumerationOptions)

Vrátí vyčíslitelné shromažďování informací o adresáři, které odpovídají zadanému vzoru vyhledávání a možnostem výčtu.Returns an enumerable collection of directory information that matches the specified search pattern and enumeration options.

EnumerateDirectories(String, SearchOption)

Vrátí vyčíslitelné shromažďování informací o adresáři, které odpovídají zadanému vzoru vyhledávání a možnosti hledání v podadresáři.Returns an enumerable collection of directory information that matches a specified search pattern and search subdirectory option.

EnumerateFiles()

Vrátí vyčíslitelné shromažďování informací o souborech v aktuálním adresáři.Returns an enumerable collection of file information in the current directory.

EnumerateFiles(String)

Vrátí vyčíslitelné shromažďování informací o souborech, které odpovídají vzoru hledání.Returns an enumerable collection of file information that matches a search pattern.

EnumerateFiles(String, EnumerationOptions)

Vrátí vyčíslitelné shromažďování informací o souborech, které odpovídají zadanému vzoru vyhledávání a možnostem výčtu.Returns an enumerable collection of file information that matches the specified search pattern and enumeration options.

EnumerateFiles(String, SearchOption)

Vrátí vyčíslitelné shromažďování informací o souborech, které odpovídají zadanému vzoru vyhledávání a možnosti hledání v podadresáři.Returns an enumerable collection of file information that matches a specified search pattern and search subdirectory option.

EnumerateFileSystemInfos()

Vrátí vyčíslitelné shromažďování informací o systému souborů v aktuálním adresáři.Returns an enumerable collection of file system information in the current directory.

EnumerateFileSystemInfos(String)

Vrátí vyčíslitelné shromažďování informací o systému souborů, které odpovídají zadanému vyhledávacímu vzoru.Returns an enumerable collection of file system information that matches a specified search pattern.

EnumerateFileSystemInfos(String, EnumerationOptions)

Vrátí vyčíslitelné shromažďování informací o systému souborů, které odpovídají zadanému vzoru vyhledávání a možnostem výčtu.Returns an enumerable collection of file system information that matches the specified search pattern and enumeration options.

EnumerateFileSystemInfos(String, SearchOption)

Vrátí vyčíslitelné shromažďování informací o systému souborů, které odpovídají zadanému vzoru vyhledávání a možnosti hledání podadresářů.Returns an enumerable collection of file system information that matches a specified search pattern and search subdirectory option.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetAccessControl()

Získává DirectorySecurity objekt, který zapouzdřuje položky seznamu řízení přístupu (ACL) pro adresář popsaný aktuálním DirectoryInfo objektem.Gets a DirectorySecurity object that encapsulates the access control list (ACL) entries for the directory described by the current DirectoryInfo object.

GetAccessControl(AccessControlSections)

Získá DirectorySecurity objekt, který zapouzdřuje zadaný typ záznamů seznamu řízení přístupu (ACL) pro adresář popsaný aktuálním DirectoryInfo objektem.Gets a DirectorySecurity object that encapsulates the specified type of access control list (ACL) entries for the directory described by the current DirectoryInfo object.

GetDirectories()

Vrátí podadresáře aktuálního adresáře.Returns the subdirectories of the current directory.

GetDirectories(String)

Vrátí pole adresářů v aktuální DirectoryInfo shodě s danými vyhledávacími kritérii.Returns an array of directories in the current DirectoryInfo matching the given search criteria.

GetDirectories(String, EnumerationOptions)

Vrátí pole adresářů v aktuální DirectoryInfo shodě se zadaným vzorem vyhledávání a možnostmi výčtu.Returns an array of directories in the current DirectoryInfo matching the specified search pattern and enumeration options.

GetDirectories(String, SearchOption)

Vrátí pole adresářů v aktuální DirectoryInfo shodě s danými vyhledávacími kritérii a pomocí hodnoty určí, zda se mají prohledávat podadresáře.Returns an array of directories in the current DirectoryInfo matching the given search criteria and using a value to determine whether to search subdirectories.

GetFiles()

Vrátí seznam souborů z aktuálního adresáře.Returns a file list from the current directory.

GetFiles(String)

Vrátí seznam souborů z aktuálního adresáře, který odpovídá zadanému vyhledávacímu vzoru.Returns a file list from the current directory matching the given search pattern.

GetFiles(String, EnumerationOptions)

Vrátí seznam souborů z aktuálního adresáře, který odpovídá zadanému vzoru vyhledávání a možnosti výčtu.Returns a file list from the current directory matching the specified search pattern and enumeration options.

GetFiles(String, SearchOption)

Vrátí seznam souborů z aktuálního adresáře, který odpovídá zadanému vyhledávacímu vzoru, a použije hodnotu k určení, zda se mají prohledávat podadresáře.Returns a file list from the current directory matching the given search pattern and using a value to determine whether to search subdirectories.

GetFileSystemInfos()

Vrátí pole silně typovaného typu FileSystemInfo reprezentující všechny soubory a podadresáře v adresáři.Returns an array of strongly typed FileSystemInfo entries representing all the files and subdirectories in a directory.

GetFileSystemInfos(String)

Načte pole silně typované FileSystemInfo objekty reprezentující soubory a podadresáře, které odpovídají zadaným kritériím vyhledávání.Retrieves an array of strongly typed FileSystemInfo objects representing the files and subdirectories that match the specified search criteria.

GetFileSystemInfos(String, EnumerationOptions)

Načte pole silně typované FileSystemInfo objekty reprezentující soubory a podadresáře, které odpovídají zadanému vzoru vyhledávání a možnostem výčtu.Retrieves an array of strongly typed FileSystemInfo objects representing the files and subdirectories that match the specified search pattern and enumeration options.

GetFileSystemInfos(String, SearchOption)

Načte pole FileSystemInfo objektů, které reprezentují soubory a podadresáře odpovídající zadaným kritériím hledání.Retrieves an array of FileSystemInfo objects that represent the files and subdirectories matching the specified search criteria.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte aktuální objekt služby životnosti, který řídí zásady životního cyklu pro tuto instanci.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Zděděno od MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Nastaví SerializationInfo objekt s názvem souboru a dalšími informacemi o výjimce.Sets the SerializationInfo object with the file name and additional exception information.

(Zděděno od FileSystemInfo)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti, který řídí zásady životního cyklu pro tuto instanci.Obtains a lifetime service object to control the lifetime policy for this instance.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří kopii aktuálního objektu bez podstruktury MarshalByRefObject .Creates a shallow copy of the current MarshalByRefObject object.

(Zděděno od MarshalByRefObject)
MoveTo(String)

Přesune DirectoryInfo instanci a její obsah do nové cesty.Moves a DirectoryInfo instance and its contents to a new path.

Refresh()

Aktualizuje stav objektu.Refreshes the state of the object.

(Zděděno od FileSystemInfo)
SetAccessControl(DirectorySecurity)

Použije položky seznamu řízení přístupu (ACL) popsané DirectorySecurity objektem na adresář popsaný aktuálním DirectoryInfo objektem.Applies access control list (ACL) entries described by a DirectorySecurity object to the directory described by the current DirectoryInfo object.

ToString()

Vrátí původní cestu, která byla předána DirectoryInfo konstruktoru.Returns the original path that was passed to the DirectoryInfo constructor. FullName Name Místo této metody použijte vlastnosti nebo pro úplnou cestu nebo název souboru nebo adresáře.Use the FullName or Name properties for the full path or file/directory name instead of this method.

Metody rozšíření

Create(DirectoryInfo, DirectorySecurity)

Vytvoří nový adresář, který zajišťuje jeho vytvoření se zadaným zabezpečením adresáře.Creates a new directory, ensuring it is created with the specified directory security. Pokud adresář již existuje, není nic dokončeno.If the directory already exists, nothing is done.

GetAccessControl(DirectoryInfo)

Vrátí informace o zabezpečení adresáře.Returns the security information of a directory.

GetAccessControl(DirectoryInfo, AccessControlSections)

Vrátí informace o zabezpečení adresáře.Returns the security information of a directory.

SetAccessControl(DirectoryInfo, DirectorySecurity)

Změní atributy zabezpečení stávajícího adresáře.Changes the security attributes of an existing directory.

Platí pro

Viz také