Directory.GetFileSystemEntries Methode

Definitie

Retourneert de namen van alle bestanden en submappen die voldoen aan de opgegeven criteria.

Overloads

Name Description
GetFileSystemEntries(String)

Retourneert de namen van alle bestanden en submappen in een opgegeven pad.

GetFileSystemEntries(String, String)

Retourneert een matrix met bestandsnamen en mapnamen die overeenkomen met een zoekpatroon in een opgegeven pad.

GetFileSystemEntries(String, String, EnumerationOptions)

Retourneert een matrix met bestandsnamen en mapnamen die overeenkomen met een zoekpatroon en opsommingsopties in een opgegeven pad.

GetFileSystemEntries(String, String, SearchOption)

Retourneert een matrix van alle bestandsnamen en mapnamen die overeenkomen met een zoekpatroon in een opgegeven pad en zoekt eventueel in submappen.

GetFileSystemEntries(String)

Retourneert de namen van alle bestanden en submappen in een opgegeven pad.

public:
 static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path);
public static string[] GetFileSystemEntries(string path);
static member GetFileSystemEntries : string -> string[]
Public Shared Function GetFileSystemEntries (path As String) As String()

Parameters

path
String

Het relatieve of absolute pad naar de map om te zoeken. Deze tekenreeks is niet hoofdlettergevoelig.

Retouren

String[]

Een matrix van de namen van bestanden en submappen in de opgegeven map of een lege matrix als er geen bestanden of submappen worden gevonden.

Uitzonderingen

De beller heeft niet de vereiste machtiging.

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met GetInvalidPathChars().

path is null.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

path is een bestandsnaam.

Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

Voorbeelden

In het volgende voorbeeld wordt de GetFileSystemEntries methode gebruikt om een matrix met tekenreeksen te vullen met de namen van alle bestanden en submappen op een door de gebruiker opgegeven locatie en elke tekenreeks in de matrix naar de console af te drukken. Het voorbeeld is zo geconfigureerd dat alle fouten die voor deze methode worden gebruikt, worden onderschept.

using System;

namespace GetFileSystemEntries
{
    class Class1
    {
        static void Main(string[] args)
        {
            Class1 snippets = new Class1();

            string path = System.IO.Directory.GetCurrentDirectory();
            string filter = "*.exe";

            snippets.PrintFileSystemEntries(path);
            snippets.PrintFileSystemEntries(path, filter);		
            snippets.GetLogicalDrives();
            snippets.GetParent(path);
            snippets.Move("C:\\proof", "C:\\Temp");
        }

        void PrintFileSystemEntries(string path)
        {
            
            try
            {
                // Obtain the file system entries in the directory path.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path);

                foreach (string str in directoryEntries)
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " +
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException)
            {
                System.Console.WriteLine("The path encapsulated in the " +
                    "Directory object does not exist.");
            }
        }
        void PrintFileSystemEntries(string path, string pattern)
        {
            try
            {
                // Obtain the file system entries in the directory
                // path that match the pattern.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path, pattern);

                foreach (string str in directoryEntries)
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " +
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException)
            {
                System.Console.WriteLine("The path encapsulated in the " +
                    "Directory object does not exist.");
            }
        }

        // Print out all logical drives on the system.
        void GetLogicalDrives()
        {
            try
            {
                string[] drives = System.IO.Directory.GetLogicalDrives();

                foreach (string str in drives)
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (System.IO.IOException)
            {
                System.Console.WriteLine("An I/O error occurs.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
        }
        void GetParent(string path)
        {
            try
            {
                System.IO.DirectoryInfo directoryInfo =
                    System.IO.Directory.GetParent(path);

                System.Console.WriteLine(directoryInfo.FullName);
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, or " +
                    "contains invalid characters.");
            }
        }
        void Move(string sourcePath, string destinationPath)
        {
            try
            {
                System.IO.Directory.Move(sourcePath, destinationPath);
                System.Console.WriteLine("The directory move is complete.");
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " +
                    "or contains invalid characters.");	
            }
            catch (System.IO.IOException)
            {
                System.Console.WriteLine("An attempt was made to move a " +
                    "directory to a different " +
                    "volume, or destDirName " +
                    "already exists.");
            }
        }
    }
}
open System
open System.IO
open System.Security

let printFileSystemEntries path =
    try
        // Obtain the file system entries in the directory path.
        let directoryEntries = Directory.GetFileSystemEntries path

        for str in directoryEntries do
            printfn $"{str}"
    with
    | :? ArgumentNullException ->
        printfn "Path is a null reference."
    | :? SecurityException ->
        printfn $"The caller does not have the required permission."
    | :? ArgumentException ->
        printfn $"Path is an empty string, contains only white spaces, or contains invalid characters."
    | :? DirectoryNotFoundException ->
        printfn $"The path encapsulated in the Directory object does not exist."

let printFileSystemEntriesPattern path pattern =
    try
        // Obtain the file system entries in the directory
        // path that match the pattern.
        let directoryEntries = Directory.GetFileSystemEntries(path, pattern)

        for str in directoryEntries do
            printfn $"{str}"
    with
    | :? ArgumentNullException -> printfn "Path is a null reference."
    | :? SecurityException -> printfn "The caller does not have the required permission."
    | :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
    | :? DirectoryNotFoundException -> printfn "The path encapsulated in the Directory object does not exist."

// Print out all logical drives on the system.
let getLogicalDrives () =
    try
        let drives = Directory.GetLogicalDrives()

        for str in drives do
            printfn $"{str}"
    with
    | :? IOException -> printfn "An I/O error occurs."
    | :? SecurityException -> printfn "The caller does not have the required permission."

let getParent path =
    try
        let directoryInfo = Directory.GetParent path
        printfn $"{directoryInfo.FullName}"

    with
    | :? ArgumentNullException -> printfn "Path is a null reference."
    | :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."

let move sourcePath destinationPath =
    try
        Directory.Move(sourcePath, destinationPath)
        printfn "The directory move is complete."

    with
    | :? ArgumentNullException -> printfn "Path is a null reference."
    | :? SecurityException -> printfn "The caller does not have the required permission."
    | :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
    | :? IOException -> printfn "An attempt was made to move a directory to a different volume, or destDirName already exists."

let path = Directory.GetCurrentDirectory()
let filter = "*.exe"

printFileSystemEntries path
printFileSystemEntriesPattern path filter
getLogicalDrives ()
getParent path
move "C:\\proof" "C:\\Temp"
Option Explicit On 
Option Strict On

Namespace GetFileSystemEntries
    Class Class1
        Overloads Shared Sub Main(ByVal args() As String)
            Dim snippets As New Class1()
            Dim path As String = System.IO.Directory.GetCurrentDirectory()
            Dim filter As String = "*.exe"
            snippets.PrintFileSystemEntries(path)
            snippets.PrintFileSystemEntries(path, filter)
            snippets.GetLogicalDrives()
            snippets.GetParent(path)
            snippets.Move("C:\proof", "C:\Temp")
        End Sub

        Sub PrintFileSystemEntries(ByVal path As String)
            Try
                ' Obtain the file system entries in the directory path.
                Dim directoryEntries As String()
                directoryEntries = System.IO.Directory.GetFileSystemEntries(path)
                Dim str As String
                For Each str In directoryEntries
                    System.Console.WriteLine(str)
                Next str
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                        "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.DirectoryNotFoundException
                System.Console.WriteLine("The path encapsulated in the " + _
                                        "Directory object does not exist.")
            End Try
        End Sub
        Sub PrintFileSystemEntries(ByVal path As String, _
                                   ByVal pattern As String)
            Try
                ' Obtain the file system entries in the directory
                ' path that match the pattern.
                Dim directoryEntries As String()
                directoryEntries = _
                   System.IO.Directory.GetFileSystemEntries(path, pattern)

                Dim str As String
                For Each str In directoryEntries
                    System.Console.WriteLine(str)
                Next str
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                        "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.DirectoryNotFoundException
                System.Console.WriteLine("The path encapsulated in the " + _
                                        "Directory object does not exist.")
            End Try
        End Sub

        ' Print out all logical drives on the system.
        Sub GetLogicalDrives()
            Try
                Dim drives As String()
                drives = System.IO.Directory.GetLogicalDrives()

                Dim str As String
                For Each str In drives
                    System.Console.WriteLine(str)
                Next str
            Catch exp As System.IO.IOException
                System.Console.WriteLine("An I/O error occurs.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                           "required permission.")
            End Try
        End Sub
        Sub GetParent(ByVal path As String)
            Try
                Dim directoryInfo As System.IO.DirectoryInfo
                directoryInfo = System.IO.Directory.GetParent(path)
                System.Console.WriteLine(directoryInfo.FullName)
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                     "contains only white spaces, or " + _
                                     "contains invalid characters.")
            End Try
        End Sub
        Sub Move(ByVal sourcePath As String, ByVal destinationPath As String)
            Try
                System.IO.Directory.Move(sourcePath, destinationPath)
                System.Console.WriteLine("The directory move is complete.")
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                           "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.IOException
                System.Console.WriteLine("An attempt was made to move a " + _
                                        "directory to a different " + _
                                        "volume, or destDirName " + _
                                        "already exists.")
            End Try
        End Sub
    End Class
End Namespace

Opmerkingen

De volgorde van de geretourneerde bestands- en mapnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

De EnumerateFileSystemEntries en GetFileSystemEntries methoden verschillen als volgt: Wanneer u gebruikt EnumerateFileSystemEntries, kunt u beginnen met het inventariseren van de verzameling vermeldingen voordat de hele verzameling wordt geretourneerd. Wanneer u deze gebruikt GetFileSystemEntries, moet u wachten totdat de hele matrix met vermeldingen wordt geretourneerd voordat u toegang hebt tot de matrix. Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFileSystemEntries werkt.

Deze methode is identiek aan GetFileSystemEntries het sterretje (*) dat is opgegeven als het zoekpatroon.

De path parameter mag relatieve of absolute padgegevens opgeven. Relatieve padinformatie wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap. Als u de huidige werkmap wilt ophalen, raadpleegt GetCurrentDirectoryu .

De hoofdlettergevoeligheid van de path parameter komt overeen met die van het bestandssysteem waarop de code wordt uitgevoerd. Het is bijvoorbeeld niet hoofdlettergevoelig voor NTFS (het standaardbestandssysteem Windows) en hoofdlettergevoelig op Linux-bestandssystemen.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

GetFileSystemEntries(String, String)

Retourneert een matrix met bestandsnamen en mapnamen die overeenkomen met een zoekpatroon in een opgegeven pad.

public:
 static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern);
public static string[] GetFileSystemEntries(string path, string searchPattern);
static member GetFileSystemEntries : string * string -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String) As String()

Parameters

path
String

Het relatieve of absolute pad naar de map om te zoeken. Deze tekenreeks is niet hoofdlettergevoelig.

searchPattern
String

De zoekreeks die overeenkomt met de namen van bestanden en mappen in path. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.

Retouren

String[]

Een matrix met bestandsnamen en mapnamen die voldoen aan de opgegeven zoekcriteria of een lege matrix als er geen bestanden of mappen worden gevonden.

Uitzonderingen

De beller heeft niet de vereiste machtiging.

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met de GetInvalidPathChars() methode.

– of –

searchPattern bevat geen geldig patroon.

path of searchPattern is null.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

path is een bestandsnaam.

Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

Voorbeelden

In het volgende voorbeeld wordt de GetFileSystemEntries methode gebruikt om een matrix met tekenreeksen te vullen met de namen van alle bestanden die overeenkomen met een door de gebruiker opgegeven filter op een specifieke locatie en elke tekenreeks in de matrix af te drukken op de console. Het voorbeeld is zo geconfigureerd dat alle fouten die voor deze methode worden gebruikt, worden onderschept.

using System;

namespace GetFileSystemEntries
{
    class Class1
    {
        static void Main(string[] args)
        {
            Class1 snippets = new Class1();

            string path = System.IO.Directory.GetCurrentDirectory();
            string filter = "*.exe";

            snippets.PrintFileSystemEntries(path);
            snippets.PrintFileSystemEntries(path, filter);		
            snippets.GetLogicalDrives();
            snippets.GetParent(path);
            snippets.Move("C:\\proof", "C:\\Temp");
        }

        void PrintFileSystemEntries(string path)
        {
            
            try
            {
                // Obtain the file system entries in the directory path.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path);

                foreach (string str in directoryEntries)
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " +
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException)
            {
                System.Console.WriteLine("The path encapsulated in the " +
                    "Directory object does not exist.");
            }
        }
        void PrintFileSystemEntries(string path, string pattern)
        {
            try
            {
                // Obtain the file system entries in the directory
                // path that match the pattern.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path, pattern);

                foreach (string str in directoryEntries)
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " +
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException)
            {
                System.Console.WriteLine("The path encapsulated in the " +
                    "Directory object does not exist.");
            }
        }

        // Print out all logical drives on the system.
        void GetLogicalDrives()
        {
            try
            {
                string[] drives = System.IO.Directory.GetLogicalDrives();

                foreach (string str in drives)
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (System.IO.IOException)
            {
                System.Console.WriteLine("An I/O error occurs.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
        }
        void GetParent(string path)
        {
            try
            {
                System.IO.DirectoryInfo directoryInfo =
                    System.IO.Directory.GetParent(path);

                System.Console.WriteLine(directoryInfo.FullName);
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, or " +
                    "contains invalid characters.");
            }
        }
        void Move(string sourcePath, string destinationPath)
        {
            try
            {
                System.IO.Directory.Move(sourcePath, destinationPath);
                System.Console.WriteLine("The directory move is complete.");
            }
            catch (ArgumentNullException)
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException)
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException)
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " +
                    "or contains invalid characters.");	
            }
            catch (System.IO.IOException)
            {
                System.Console.WriteLine("An attempt was made to move a " +
                    "directory to a different " +
                    "volume, or destDirName " +
                    "already exists.");
            }
        }
    }
}
open System
open System.IO
open System.Security

let printFileSystemEntries path =
    try
        // Obtain the file system entries in the directory path.
        let directoryEntries = Directory.GetFileSystemEntries path

        for str in directoryEntries do
            printfn $"{str}"
    with
    | :? ArgumentNullException ->
        printfn "Path is a null reference."
    | :? SecurityException ->
        printfn $"The caller does not have the required permission."
    | :? ArgumentException ->
        printfn $"Path is an empty string, contains only white spaces, or contains invalid characters."
    | :? DirectoryNotFoundException ->
        printfn $"The path encapsulated in the Directory object does not exist."

let printFileSystemEntriesPattern path pattern =
    try
        // Obtain the file system entries in the directory
        // path that match the pattern.
        let directoryEntries = Directory.GetFileSystemEntries(path, pattern)

        for str in directoryEntries do
            printfn $"{str}"
    with
    | :? ArgumentNullException -> printfn "Path is a null reference."
    | :? SecurityException -> printfn "The caller does not have the required permission."
    | :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
    | :? DirectoryNotFoundException -> printfn "The path encapsulated in the Directory object does not exist."

// Print out all logical drives on the system.
let getLogicalDrives () =
    try
        let drives = Directory.GetLogicalDrives()

        for str in drives do
            printfn $"{str}"
    with
    | :? IOException -> printfn "An I/O error occurs."
    | :? SecurityException -> printfn "The caller does not have the required permission."

let getParent path =
    try
        let directoryInfo = Directory.GetParent path
        printfn $"{directoryInfo.FullName}"

    with
    | :? ArgumentNullException -> printfn "Path is a null reference."
    | :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."

let move sourcePath destinationPath =
    try
        Directory.Move(sourcePath, destinationPath)
        printfn "The directory move is complete."

    with
    | :? ArgumentNullException -> printfn "Path is a null reference."
    | :? SecurityException -> printfn "The caller does not have the required permission."
    | :? ArgumentException -> printfn "Path is an empty string, contains only white spaces, or contains invalid characters."
    | :? IOException -> printfn "An attempt was made to move a directory to a different volume, or destDirName already exists."

let path = Directory.GetCurrentDirectory()
let filter = "*.exe"

printFileSystemEntries path
printFileSystemEntriesPattern path filter
getLogicalDrives ()
getParent path
move "C:\\proof" "C:\\Temp"
Option Explicit On 
Option Strict On

Namespace GetFileSystemEntries
    Class Class1
        Overloads Shared Sub Main(ByVal args() As String)
            Dim snippets As New Class1()
            Dim path As String = System.IO.Directory.GetCurrentDirectory()
            Dim filter As String = "*.exe"
            snippets.PrintFileSystemEntries(path)
            snippets.PrintFileSystemEntries(path, filter)
            snippets.GetLogicalDrives()
            snippets.GetParent(path)
            snippets.Move("C:\proof", "C:\Temp")
        End Sub

        Sub PrintFileSystemEntries(ByVal path As String)
            Try
                ' Obtain the file system entries in the directory path.
                Dim directoryEntries As String()
                directoryEntries = System.IO.Directory.GetFileSystemEntries(path)
                Dim str As String
                For Each str In directoryEntries
                    System.Console.WriteLine(str)
                Next str
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                        "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.DirectoryNotFoundException
                System.Console.WriteLine("The path encapsulated in the " + _
                                        "Directory object does not exist.")
            End Try
        End Sub
        Sub PrintFileSystemEntries(ByVal path As String, _
                                   ByVal pattern As String)
            Try
                ' Obtain the file system entries in the directory
                ' path that match the pattern.
                Dim directoryEntries As String()
                directoryEntries = _
                   System.IO.Directory.GetFileSystemEntries(path, pattern)

                Dim str As String
                For Each str In directoryEntries
                    System.Console.WriteLine(str)
                Next str
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                        "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.DirectoryNotFoundException
                System.Console.WriteLine("The path encapsulated in the " + _
                                        "Directory object does not exist.")
            End Try
        End Sub

        ' Print out all logical drives on the system.
        Sub GetLogicalDrives()
            Try
                Dim drives As String()
                drives = System.IO.Directory.GetLogicalDrives()

                Dim str As String
                For Each str In drives
                    System.Console.WriteLine(str)
                Next str
            Catch exp As System.IO.IOException
                System.Console.WriteLine("An I/O error occurs.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                           "required permission.")
            End Try
        End Sub
        Sub GetParent(ByVal path As String)
            Try
                Dim directoryInfo As System.IO.DirectoryInfo
                directoryInfo = System.IO.Directory.GetParent(path)
                System.Console.WriteLine(directoryInfo.FullName)
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                     "contains only white spaces, or " + _
                                     "contains invalid characters.")
            End Try
        End Sub
        Sub Move(ByVal sourcePath As String, ByVal destinationPath As String)
            Try
                System.IO.Directory.Move(sourcePath, destinationPath)
                System.Console.WriteLine("The directory move is complete.")
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                           "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.IOException
                System.Console.WriteLine("An attempt was made to move a " + _
                                        "directory to a different " + _
                                        "volume, or destDirName " + _
                                        "already exists.")
            End Try
        End Sub
    End Class
End Namespace

Opmerkingen

De volgorde van de geretourneerde bestands- en mapnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

searchPattern kan een combinatie zijn van letterlijke tekens en jokertekens, maar biedt geen ondersteuning voor reguliere expressies. De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.

Jokertekenaanduiding Overeenkomsten
* (sterretje) Nul of meer tekens op die positie.
? (vraagteken) Precies één teken in die positie.

Andere tekens dan het jokerteken zijn letterlijke tekens. Met de searchPattern tekenreeks '*t' wordt bijvoorbeeld gezocht naar alle namen die path eindigen op de letter 't'. De searchPattern tekenreeks 's*' zoekt naar alle namen in path het begin met de letter 's'.

searchPattern kan niet eindigen in twee perioden ("..") of twee punten ("."), gevolgd door DirectorySeparatorChar of AltDirectorySeparatorChar, noch mogen deze ongeldige tekens bevatten. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars methode.

Note

Wanneer u het jokerteken sterretje gebruikt in een searchPattern zoals '*.txt', is het aantal tekens in de opgegeven extensie als volgt van invloed op de zoekopdracht:

  • Als de opgegeven extensie precies drie tekens lang is, retourneert de methode bestanden met extensies die beginnen met de opgegeven extensie. Bijvoorbeeld: '*.xls' retourneert zowel 'book.xls' als 'book.xlsx'.
  • In alle andere gevallen retourneert de methode bestanden die exact overeenkomen met de opgegeven extensie. *.ai retourneert bijvoorbeeld 'file.ai' maar niet 'file.aif'.

Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden, 'file1.txt' en 'file1.txtother', in een map, een zoekpatroon van 'bestand?'.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.

De path parameter mag relatieve of absolute padgegevens opgeven. Relatieve padinformatie wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap. Als u de huidige werkmap wilt ophalen, raadpleegt GetCurrentDirectoryu .

De hoofdlettergevoeligheid van de path parameter komt overeen met die van het bestandssysteem waarop de code wordt uitgevoerd. Het is bijvoorbeeld niet hoofdlettergevoelig voor NTFS (het standaardbestandssysteem Windows) en hoofdlettergevoelig op Linux-bestandssystemen.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

GetFileSystemEntries(String, String, EnumerationOptions)

Retourneert een matrix met bestandsnamen en mapnamen die overeenkomen met een zoekpatroon en opsommingsopties in een opgegeven pad.

public:
 static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static string[] GetFileSystemEntries(string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member GetFileSystemEntries : string * string * System.IO.EnumerationOptions -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As String()

Parameters

path
String

Het relatieve of absolute pad naar de map om te zoeken. Deze tekenreeks is niet hoofdlettergevoelig.

searchPattern
String

De zoekreeks die overeenkomt met de namen van bestanden en mappen in path. Deze parameter kan een combinatie van geldige letterlijke en jokertekens bevatten, maar biedt geen ondersteuning voor reguliere expressies.

enumerationOptions
EnumerationOptions

Een object dat de zoek- en opsommingsconfiguratie beschrijft die moet worden gebruikt.

Retouren

String[]

Een matrix met bestandsnamen en mapnamen die overeenkomen met het opgegeven zoekpatroon en de opsommingsopties, of een lege matrix als er geen bestanden of mappen worden gevonden.

Uitzonderingen

De beller heeft niet de vereiste machtiging.

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met de GetInvalidPathChars() methode.

– of –

searchPattern bevat geen geldig patroon.

path of searchPattern is null.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

path is een bestandsnaam.

Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).

Opmerkingen

De volgorde van de geretourneerde bestands- en mapnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

searchPattern kan een combinatie zijn van letterlijke tekens en jokertekens, maar biedt geen ondersteuning voor reguliere expressies. De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.

Jokertekenaanduiding Overeenkomsten
* (sterretje) Nul of meer tekens op die positie.
? (vraagteken) Precies één teken in die positie.

Andere tekens dan het jokerteken zijn letterlijke tekens. Met de searchPattern tekenreeks '*t' wordt bijvoorbeeld gezocht naar alle namen die path eindigen op de letter 't'. De searchPattern tekenreeks 's*' zoekt naar alle namen in path het begin met de letter 's'.

searchPattern kan niet eindigen in twee perioden ("..") of twee punten ("."), gevolgd door DirectorySeparatorChar of AltDirectorySeparatorChar, noch mogen deze ongeldige tekens bevatten. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars methode.

Note

Wanneer u het jokerteken sterretje gebruikt in een searchPattern zoals '*.txt', is het aantal tekens in de opgegeven extensie als volgt van invloed op de zoekopdracht:

  • Als de opgegeven extensie precies drie tekens lang is, retourneert de methode bestanden met extensies die beginnen met de opgegeven extensie. Bijvoorbeeld: '*.xls' retourneert zowel 'book.xls' als 'book.xlsx'.
  • In alle andere gevallen retourneert de methode bestanden die exact overeenkomen met de opgegeven extensie. *.ai retourneert bijvoorbeeld 'file.ai' maar niet 'file.aif'.

Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden, 'file1.txt' en 'file1.txtother', in een map, een zoekpatroon van 'bestand?'.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.

De path parameter mag relatieve of absolute padgegevens opgeven. Relatieve padinformatie wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap. Als u de huidige werkmap wilt ophalen, raadpleegt GetCurrentDirectoryu .

De hoofdlettergevoeligheid van de path parameter komt overeen met die van het bestandssysteem waarop de code wordt uitgevoerd. Het is bijvoorbeeld niet hoofdlettergevoelig voor NTFS (het standaardbestandssysteem Windows) en hoofdlettergevoelig op Linux-bestandssystemen.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Van toepassing op

GetFileSystemEntries(String, String, SearchOption)

Retourneert een matrix van alle bestandsnamen en mapnamen die overeenkomen met een zoekpatroon in een opgegeven pad en zoekt eventueel in submappen.

public:
 static cli::array <System::String ^> ^ GetFileSystemEntries(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static string[] GetFileSystemEntries(string path, string searchPattern, System.IO.SearchOption searchOption);
static member GetFileSystemEntries : string * string * System.IO.SearchOption -> string[]
Public Shared Function GetFileSystemEntries (path As String, searchPattern As String, searchOption As SearchOption) As String()

Parameters

path
String

Het relatieve of absolute pad naar de map om te zoeken. Deze tekenreeks is niet hoofdlettergevoelig.

searchPattern
String

De zoekreeks die overeenkomt met de namen van bestanden en mappen in path. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.

searchOption
SearchOption

Een van de opsommingswaarden die aangeeft of de zoekbewerking alleen de huidige map moet bevatten of alle submappen moet bevatten. De standaardwaarde is TopDirectoryOnly.

Retouren

String[]

Een matrix met bestandsnamen en mapnamen die voldoen aan de opgegeven zoekcriteria of een lege matrix als er geen bestanden of mappen worden gevonden.

Uitzonderingen

.NET Framework en .NET Core-versies ouder dan 2.1: path is een tekenreeks met lengte nul, bevat alleen witruimte of ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars() methode.

– of –

searchPattern bevat geen geldig patroon.

path is null.

– of –

searchPattern is null.

searchOption is geen geldige SearchOption waarde.

path is ongeldig, zoals het verwijzen naar een niet-toegewezen station.

path is een bestandsnaam.

Het opgegeven pad, de bestandsnaam of de gecombineerde waarde overschrijdt de door het systeem gedefinieerde maximumlengte.

De beller heeft niet de vereiste machtiging.

De beller heeft niet de vereiste machtiging.

Opmerkingen

De volgorde van de geretourneerde bestands- en mapnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.

searchPattern kan een combinatie zijn van letterlijke tekens en jokertekens, maar biedt geen ondersteuning voor reguliere expressies. De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.

Jokertekenaanduiding Overeenkomsten
* (sterretje) Nul of meer tekens op die positie.
? (vraagteken) Precies één teken in die positie.

Andere tekens dan het jokerteken zijn letterlijke tekens. Met de searchPattern tekenreeks '*t' wordt bijvoorbeeld gezocht naar alle namen die path eindigen op de letter 't'. De searchPattern tekenreeks 's*' zoekt naar alle namen in path het begin met de letter 's'.

searchPattern kan niet eindigen in twee perioden ("..") of twee punten ("."), gevolgd door DirectorySeparatorChar of AltDirectorySeparatorChar, noch mogen deze ongeldige tekens bevatten. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars methode.

Note

Wanneer u het jokerteken sterretje gebruikt in een searchPattern zoals '*.txt', is het aantal tekens in de opgegeven extensie als volgt van invloed op de zoekopdracht:

  • Als de opgegeven extensie precies drie tekens lang is, retourneert de methode bestanden met extensies die beginnen met de opgegeven extensie. Bijvoorbeeld: '*.xls' retourneert zowel 'book.xls' als 'book.xlsx'.
  • In alle andere gevallen retourneert de methode bestanden die exact overeenkomen met de opgegeven extensie. *.ai retourneert bijvoorbeeld 'file.ai' maar niet 'file.aif'.

Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden, 'file1.txt' en 'file1.txtother', in een map, een zoekpatroon van 'bestand?'.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.

De EnumerateFileSystemEntries en GetFileSystemEntries methoden verschillen als volgt: Wanneer u gebruikt EnumerateFileSystemEntries, kunt u beginnen met het inventariseren van de verzameling vermeldingen voordat de hele verzameling wordt geretourneerd. Wanneer u deze gebruikt GetFileSystemEntries, moet u wachten totdat de hele matrix met vermeldingen wordt geretourneerd voordat u toegang hebt tot de matrix. Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFileSystemEntries werkt.

U kunt relatieve padgegevens opgeven met de path parameter. Relatieve padinformatie wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap, die u kunt bepalen met behulp van de GetCurrentDirectory methode.

Zie ook

Van toepassing op