Directory.GetFileSystemEntries Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce i nomi di tutti i file e le sottodirectory che soddisfano i criteri specificati.
Overload
| Nome | Descrizione |
|---|---|
| GetFileSystemEntries(String) |
Restituisce i nomi di tutti i file e le sottodirectory in un percorso specificato. |
| GetFileSystemEntries(String, String) |
Restituisce una matrice di nomi di file e nomi di directory che corrispondono a un criterio di ricerca in un percorso specificato. |
| GetFileSystemEntries(String, String, EnumerationOptions) |
Restituisce una matrice di nomi di file e nomi di directory che corrispondono a un criterio di ricerca e opzioni di enumerazione in un percorso specificato. |
| GetFileSystemEntries(String, String, SearchOption) |
Restituisce una matrice di tutti i nomi di file e di directory che corrispondono a un criterio di ricerca in un percorso specificato e, facoltativamente, cerca nelle sottodirectory. |
GetFileSystemEntries(String)
Restituisce i nomi di tutti i file e le sottodirectory in un percorso specificato.
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()
Parametri
- path
- String
Percorso relativo o assoluto della directory in cui eseguire la ricerca. Questa stringa non fa distinzione tra maiuscole e minuscole.
Valori restituiti
Matrice dei nomi di file e sottodirectory nella directory specificata oppure di una matrice vuota se non vengono trovati file o sottodirectory.
Eccezioni
Il chiamante non dispone dell'autorizzazione richiesta.
.NET Framework e versioni di .NET Core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi con GetInvalidPathChars().
path è null.
Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.
path è un nome di file.
Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).
Esempio
Nell'esempio seguente viene utilizzato il GetFileSystemEntries metodo per riempire una matrice di stringhe con i nomi di tutti i file e le sottodirectory in un percorso specificato dall'utente e stampa ogni stringa nella matrice nella console. L'esempio è configurato per rilevare tutti gli errori comuni a questo metodo.
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
Commenti
L'ordine dei nomi di file e directory restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.
I EnumerateFileSystemEntries metodi e GetFileSystemEntries differiscono come segue: quando si utilizza , è possibile iniziare a enumerare la raccolta di voci prima che venga restituita l'intera raccolta. Quando si utilizza EnumerateFileSystemEntriesGetFileSystemEntries, è necessario attendere che venga restituita l'intera matrice di voci prima di poter accedere alla matrice. Pertanto, quando si lavora con molti file e directory, EnumerateFileSystemEntries può essere più efficiente.
Questo metodo è identico a GetFileSystemEntries quello dell'asterisco (*) specificato come modello di ricerca.
Il path parametro è autorizzato a specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.
La distinzione tra maiuscole e minuscole del path parametro corrisponde a quella del file system in cui è in esecuzione il codice. Ad esempio, non fa distinzione tra maiuscole e minuscole in NTFS (file system Windows predefinito) e fa distinzione tra maiuscole e minuscole nei file system Linux.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- FileSystemWatcher
- FileSystemInfo
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere testo in un file
Si applica a
GetFileSystemEntries(String, String)
Restituisce una matrice di nomi di file e nomi di directory che corrispondono a un criterio di ricerca in un percorso specificato.
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()
Parametri
- path
- String
Percorso relativo o assoluto della directory in cui eseguire la ricerca. Questa stringa non fa distinzione tra maiuscole e minuscole.
- searchPattern
- String
Stringa di ricerca che deve corrispondere ai nomi di file e directory in path. Questo parametro può contenere una combinazione di caratteri jolly e percorso letterale validi (* e ?), ma non supporta espressioni regolari.
Valori restituiti
Matrice di nomi di file e nomi di directory che corrispondono ai criteri di ricerca specificati oppure una matrice vuota se non vengono trovati file o directory.
Eccezioni
Il chiamante non dispone dell'autorizzazione richiesta.
.NET Framework e versioni di .NET Core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi con il GetInvalidPathChars() metodo .
oppure
searchPattern non contiene un modello valido.
path o searchPattern è null.
Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.
path è un nome di file.
Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).
Esempio
Nell'esempio seguente viene utilizzato il GetFileSystemEntries metodo per riempire una matrice di stringhe con i nomi di tutti i file corrispondenti a un filtro specificato dall'utente in una posizione specifica e stampa ogni stringa nella matrice nella console. L'esempio è configurato per rilevare tutti gli errori comuni a questo metodo.
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
Commenti
L'ordine dei nomi di file e directory restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.
searchPattern può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern.
| Identificatore di caratteri jolly | Matches |
|---|---|
| * (asterisco) | Zero o più caratteri in tale posizione. |
| ? (punto interrogativo) | Esattamente un carattere in quella posizione. |
I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la searchPattern stringa "*t" cerca tutti i nomi path che terminano con la lettera "t". La searchPattern stringa "s*" cerca tutti i nomi che path iniziano con la lettera "s".
searchPattern non può terminare in due punti ("..") o contenere due punti ("..") seguiti da DirectorySeparatorChar o AltDirectorySeparatorChar, né può contenere caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars.
Note
Quando si usa il carattere jolly asterisco in un searchPattern oggetto come "*.txt", il numero di caratteri nell'estensione specificata influisce sulla ricerca come indicato di seguito:
- Se l'estensione specificata è lunga esattamente tre caratteri, il metodo restituisce i file con estensioni che iniziano con l'estensione specificata. Ad esempio, "*.xls" restituisce sia "book.xls" che "book.xlsx".
- In tutti gli altri casi, il metodo restituisce file che corrispondono esattamente all'estensione specificata. Ad esempio, "*.ai" restituisce "file.ai" ma non "file.aif".
Quando si utilizza il carattere jolly del punto interrogativo, questo metodo restituisce solo i file che corrispondono all'estensione di file specificata. Ad esempio, dato due file, "file1.txt" e "file1.txtother", in una directory, un modello di ricerca di "file?.txt" restituisce solo il primo file, mentre un modello di ricerca "file*.txt" restituisce entrambi i file.
Il path parametro è autorizzato a specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.
La distinzione tra maiuscole e minuscole del path parametro corrisponde a quella del file system in cui è in esecuzione il codice. Ad esempio, non fa distinzione tra maiuscole e minuscole in NTFS (file system Windows predefinito) e fa distinzione tra maiuscole e minuscole nei file system Linux.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- FileSystemInfo
- FileSystemWatcher
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere testo in un file
Si applica a
GetFileSystemEntries(String, String, EnumerationOptions)
Restituisce una matrice di nomi di file e nomi di directory che corrispondono a un criterio di ricerca e opzioni di enumerazione in un percorso specificato.
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()
Parametri
- path
- String
Percorso relativo o assoluto della directory in cui eseguire la ricerca. Questa stringa non fa distinzione tra maiuscole e minuscole.
- searchPattern
- String
Stringa di ricerca che deve corrispondere ai nomi di file e directory in path. Questo parametro può contenere una combinazione di caratteri letterali e caratteri jolly validi, ma non supporta espressioni regolari.
- enumerationOptions
- EnumerationOptions
Oggetto che descrive la configurazione di ricerca ed enumerazione da utilizzare.
Valori restituiti
Matrice di nomi di file e nomi di directory che corrispondono al criterio di ricerca e alle opzioni di enumerazione specificati oppure a una matrice vuota se non vengono trovati file o directory.
Eccezioni
Il chiamante non dispone dell'autorizzazione richiesta.
.NET Framework e versioni di .NET Core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi con il GetInvalidPathChars() metodo .
oppure
searchPattern non contiene un modello valido.
path o searchPattern è null.
Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.
path è un nome di file.
Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).
Commenti
L'ordine dei nomi di file e directory restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.
searchPattern può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern.
| Identificatore di caratteri jolly | Matches |
|---|---|
| * (asterisco) | Zero o più caratteri in tale posizione. |
| ? (punto interrogativo) | Esattamente un carattere in quella posizione. |
I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la searchPattern stringa "*t" cerca tutti i nomi path che terminano con la lettera "t". La searchPattern stringa "s*" cerca tutti i nomi che path iniziano con la lettera "s".
searchPattern non può terminare in due punti ("..") o contenere due punti ("..") seguiti da DirectorySeparatorChar o AltDirectorySeparatorChar, né può contenere caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars.
Note
Quando si usa il carattere jolly asterisco in un searchPattern oggetto come "*.txt", il numero di caratteri nell'estensione specificata influisce sulla ricerca come indicato di seguito:
- Se l'estensione specificata è lunga esattamente tre caratteri, il metodo restituisce i file con estensioni che iniziano con l'estensione specificata. Ad esempio, "*.xls" restituisce sia "book.xls" che "book.xlsx".
- In tutti gli altri casi, il metodo restituisce file che corrispondono esattamente all'estensione specificata. Ad esempio, "*.ai" restituisce "file.ai" ma non "file.aif".
Quando si utilizza il carattere jolly del punto interrogativo, questo metodo restituisce solo i file che corrispondono all'estensione di file specificata. Ad esempio, dato due file, "file1.txt" e "file1.txtother", in una directory, un modello di ricerca di "file?.txt" restituisce solo il primo file, mentre un modello di ricerca "file*.txt" restituisce entrambi i file.
Il path parametro è autorizzato a specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.
La distinzione tra maiuscole e minuscole del path parametro corrisponde a quella del file system in cui è in esecuzione il codice. Ad esempio, non fa distinzione tra maiuscole e minuscole in NTFS (file system Windows predefinito) e fa distinzione tra maiuscole e minuscole nei file system Linux.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Si applica a
GetFileSystemEntries(String, String, SearchOption)
Restituisce una matrice di tutti i nomi di file e di directory che corrispondono a un criterio di ricerca in un percorso specificato e, facoltativamente, cerca nelle sottodirectory.
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()
Parametri
- path
- String
Percorso relativo o assoluto della directory in cui eseguire la ricerca. Questa stringa non fa distinzione tra maiuscole e minuscole.
- searchPattern
- String
Stringa di ricerca che deve corrispondere ai nomi di file e directory in path. Questo parametro può contenere una combinazione di caratteri jolly e percorso letterale validi (* e ?), ma non supporta espressioni regolari.
- searchOption
- SearchOption
Uno dei valori di enumerazione che specifica se l'operazione di ricerca deve includere solo la directory corrente o deve includere tutte le sottodirectory. Il valore predefinito è TopDirectoryOnly.
Valori restituiti
Matrice di file che corrispondono ai criteri di ricerca specificati o a una matrice vuota se non vengono trovati file o directory.
Eccezioni
.NET Framework e .NET versioni core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars().
oppure
searchPattern non contiene un modello valido.
searchOption non è un valore valido SearchOption .
path non è valido, ad esempio il riferimento a un'unità non mappata.
path è un nome di file.
Il percorso, il nome file o la combinazione specificati superano la lunghezza massima definita dal sistema.
Il chiamante non dispone dell'autorizzazione richiesta.
Il chiamante non dispone dell'autorizzazione richiesta.
Commenti
L'ordine dei nomi di file e directory restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.
searchPattern può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern.
| Identificatore di caratteri jolly | Matches |
|---|---|
| * (asterisco) | Zero o più caratteri in tale posizione. |
| ? (punto interrogativo) | Esattamente un carattere in quella posizione. |
I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la searchPattern stringa "*t" cerca tutti i nomi path che terminano con la lettera "t". La searchPattern stringa "s*" cerca tutti i nomi che path iniziano con la lettera "s".
searchPattern non può terminare in due punti ("..") o contenere due punti ("..") seguiti da DirectorySeparatorChar o AltDirectorySeparatorChar, né può contenere caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars.
Note
Quando si usa il carattere jolly asterisco in un searchPattern oggetto come "*.txt", il numero di caratteri nell'estensione specificata influisce sulla ricerca come indicato di seguito:
- Se l'estensione specificata è lunga esattamente tre caratteri, il metodo restituisce i file con estensioni che iniziano con l'estensione specificata. Ad esempio, "*.xls" restituisce sia "book.xls" che "book.xlsx".
- In tutti gli altri casi, il metodo restituisce file che corrispondono esattamente all'estensione specificata. Ad esempio, "*.ai" restituisce "file.ai" ma non "file.aif".
Quando si utilizza il carattere jolly del punto interrogativo, questo metodo restituisce solo i file che corrispondono all'estensione di file specificata. Ad esempio, dato due file, "file1.txt" e "file1.txtother", in una directory, un modello di ricerca di "file?.txt" restituisce solo il primo file, mentre un modello di ricerca "file*.txt" restituisce entrambi i file.
I EnumerateFileSystemEntries metodi e GetFileSystemEntries differiscono come segue: quando si utilizza , è possibile iniziare a enumerare la raccolta di voci prima che venga restituita l'intera raccolta. Quando si utilizza EnumerateFileSystemEntriesGetFileSystemEntries, è necessario attendere che venga restituita l'intera matrice di voci prima di poter accedere alla matrice. Pertanto, quando si lavora con molti file e directory, EnumerateFileSystemEntries può essere più efficiente.
È possibile specificare informazioni relative sul percorso con il path parametro . Le informazioni sul percorso relative vengono interpretate come relative alla directory di lavoro corrente, che è possibile determinare usando il GetCurrentDirectory metodo .