Directory.GetFileSystemEntries Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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
- FileSystemWatcher
- FileSystemInfo
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
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
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
- FileSystemInfo
- FileSystemWatcher
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
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
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
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.
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.