Directory Classe
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.
Espone metodi statici per la creazione, lo spostamento e l'enumerazione tramite directory e sottodirectory. Questa classe non può essere ereditata.
public ref class Directory abstract sealed
public ref class Directory sealed
public static class Directory
public sealed class Directory
[System.Runtime.InteropServices.ComVisible(true)]
public static class Directory
type Directory = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Directory = class
Public Class Directory
Public NotInheritable Class Directory
- Ereditarietà
-
Directory
- Attributi
Esempio
Nell'esempio seguente viene illustrato come recuperare tutti i file di testo da una directory e spostarli in una nuova directory. Dopo aver spostato i file, non esistono più nella directory originale.
using System;
using System.IO;
partial class Example1
{
static void TwoStringsExample()
{
string sourceDirectory = @"C:\current";
string archiveDirectory = @"C:\archive";
try
{
var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");
foreach (string currentFile in txtFiles)
{
string fileName = currentFile.Substring(sourceDirectory.Length + 1);
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
open System.IO
let sourceDirectory = @"C:\current"
let archiveDirectory = @"C:\archive"
try
let txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt")
for currentFile in txtFiles do
let fileName = currentFile.Substring(sourceDirectory.Length + 1)
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
with e ->
printfn $"{e.Message}"
Imports System.IO
Partial Class Example1
Shared Sub TwoStringExample()
Dim sourceDirectory As String = "C:\current"
Dim archiveDirectory As String = "C:\archive"
Try
Dim txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt")
For Each currentFile As String In txtFiles
Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
Next
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
End Class
Nell'esempio seguente viene illustrato come utilizzare il EnumerateFiles metodo per recuperare una raccolta di file di testo da una directory e quindi utilizzare tale raccolta in una query per trovare tutte le righe che contengono "Example".
using System;
using System.IO;
using System.Linq;
partial class Program
{
static void EnumerateFilesExample()
{
string archiveDirectory = @"C:\archive";
var files = from retrievedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(retrievedFile)
where line.Contains("Example")
select new
{
File = retrievedFile,
Line = line
};
foreach (var f in files)
{
Console.WriteLine("{0} contains {1}", f.File, f.Line);
}
Console.WriteLine("{0} lines found.", files.Count().ToString());
}
}
open System.IO
let archiveDirectory = @"C:\archive"
let files =
query {
for retrivedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories) do
for line in File.ReadLines retrivedFile do
where (line.Contains "file")
select
{| File = retrivedFile
Line = line |}
}
for f in files do
printfn $"{f.File} contains {f.Line}"
printfn "{Seq.length files} lines found."
Imports System.IO
Partial Class Program
Shared Sub EnumerateFilesExample()
Dim archiveDirectory As String = "C:\archive"
Dim files = From retrievedFile In Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
From line In File.ReadLines(retrievedFile)
Where line.Contains("Example")
Select New With {.curFile = retrievedFile, .curLine = line}
For Each f In files
Console.WriteLine("{0} contains {1}", f.curFile, f.curLine)
Next
Console.WriteLine("{0} lines found.", files.Count.ToString())
End Sub
End Class
Nell'esempio seguente viene illustrato come spostare una directory e tutti i relativi file in una nuova directory. La directory originale non esiste più dopo che è stata spostata.
using System;
using System.IO;
partial class Program
{
static void DirectoryMoveExample()
{
string sourceDirectory = @"C:\source";
string destinationDirectory = @"C:\destination";
try
{
Directory.Move(sourceDirectory, destinationDirectory);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
open System.IO
let sourceDirectory = @"C:\source"
let destinationDirectory = @"C:\destination"
try
Directory.Move(sourceDirectory, destinationDirectory)
with e ->
printfn $"{e.Message}"
Imports System.IO
Partial Class Program
Shared Sub DirectoryMoveExample()
Dim sourceDirectory As String = "C:\source"
Dim destinationDirectory As String = "C:\destination"
Try
Directory.Move(sourceDirectory, destinationDirectory)
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
End Class
Commenti
Usare la Directory classe per operazioni tipiche, ad esempio la copia, lo spostamento, la ridenominazione, la creazione e l'eliminazione di directory.
Per creare una directory, usare uno dei CreateDirectory metodi .
Per eliminare una directory, utilizzare uno dei Delete metodi .
Per ottenere o impostare la directory corrente per un'app, usare il GetCurrentDirectory metodo o SetCurrentDirectory .
Per modificare DateTime le informazioni correlate alla creazione, all'accesso e alla scrittura di una directory, utilizzare metodi come SetLastAccessTime e SetCreationTime.
I metodi statici della Directory classe eseguono controlli di sicurezza su tutti i metodi. Se si intende riutilizzare un oggetto più volte, è consigliabile usare il metodo di istanza corrispondente di DirectoryInfo , perché il controllo di sicurezza non sarà sempre necessario.
Se si esegue una sola azione correlata alla directory, potrebbe essere più efficiente usare un metodo statico Directory anziché un metodo di istanza corrispondente DirectoryInfo . La maggior parte dei Directory metodi richiede il percorso della directory che si sta modificando.
Annotazioni
Nei membri che accettano un parametro stringa path , tale percorso deve essere ben formato o viene generata un'eccezione. Ad esempio, se un percorso è completo ma inizia con uno spazio (" c:\temp"), la stringa di percorso non viene tagliata, quindi il percorso viene considerato in formato non valido e viene generata un'eccezione. Inoltre, un percorso o una combinazione di percorsi non può essere completo due volte. Ad esempio, anche "c:\temp c:\windows" genera un'eccezione. Assicurarsi che i percorsi siano ben formati quando si usano metodi che accettano una stringa di percorso. Per altre informazioni, vedere Path.
Nei membri che accettano un percorso, il percorso può fare riferimento a un file o a una directory. È possibile usare un percorso completo, un percorso relativo o un percorso UNC (Universal Naming Convention) per un server e un nome di condivisione. Ad esempio, tutti i percorsi seguenti sono accettabili:
"c:\\MyDir" in C#o "c:\MyDir" in Visual Basic.
"MyDir\\MySubdir" in C#, o "MyDir\MySubDir" in Visual Basic.
"\\\MyServer\\MyShare" in C#, o "\\MyServer\MyShare" in Visual Basic.
Per impostazione predefinita, l'accesso in lettura/scrittura completo alle nuove directory viene concesso a tutti gli utenti. Tuttavia, l'app deve avere la sicurezza corretta per accedere alle directory esistenti.
Per richiedere le autorizzazioni per una directory e tutte le relative sottodirectory, terminare la stringa di percorso con il carattere separatore di directory. Ad esempio, "C:\Temp\" concede l'accesso a C:\Temp\ e a tutte le relative sottodirectory. Per richiedere autorizzazioni solo per una directory specifica, terminare la stringa di percorso con un punto. Ad esempio, "C:\Temp\." concede l'accesso solo a C:\Temp\, non alle relative sottodirectory.
Nei membri che accettano un searchPattern parametro, la stringa di ricerca può essere qualsiasi combinazione di caratteri letterali e due caratteri jolly, * e ?. Questo parametro non riconosce le espressioni regolari. Per altre informazioni, vedere il EnumerateDirectories(String, String) metodo o qualsiasi altro metodo che usa il searchPattern parametro .
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Metodi
| Nome | Descrizione |
|---|---|
| CreateDirectory(String, DirectorySecurity) |
Crea tutte le directory nel percorso specificato, a meno che non esistano già, applicando la sicurezza di Windows specificata. |
| CreateDirectory(String, UnixFileMode) |
Crea tutte le directory e le sottodirectory nel percorso specificato con le autorizzazioni specificate, a meno che non esistano già. |
| CreateDirectory(String) |
Crea tutte le directory e le sottodirectory nel percorso specificato, a meno che non esistano già. |
| CreateSymbolicLink(String, String) |
Crea un collegamento simbolico di directory identificato da |
| CreateTempSubdirectory(String) |
Crea una directory vuota denominata in modo univoco nella directory temporanea dell'utente corrente. |
| Delete(String, Boolean) |
Elimina la directory specificata e, se indicato, eventuali sottodirectory e file nella directory. |
| Delete(String) |
Elimina una directory vuota da un percorso specificato. |
| EnumerateDirectories(String, String, EnumerationOptions) |
Restituisce un insieme enumerabile dei nomi completi della directory che corrispondono a un criterio di ricerca in un percorso specificato e, facoltativamente, cerca nelle sottodirectory. |
| EnumerateDirectories(String, String, SearchOption) |
Restituisce una raccolta enumerabile di nomi completi della directory che corrispondono a un criterio di ricerca in un percorso specificato e, facoltativamente, cerca nelle sottodirectory. |
| EnumerateDirectories(String, String) |
Restituisce una raccolta enumerabile di nomi completi della directory che corrispondono a un criterio di ricerca in un percorso specificato. |
| EnumerateDirectories(String) |
Restituisce una raccolta enumerabile di nomi completi della directory in un percorso specificato. |
| EnumerateFiles(String, String, EnumerationOptions) |
Restituisce una raccolta enumerabile di nomi di file completi che corrispondono a un criterio di ricerca e opzioni di enumerazione in un percorso specificato e, facoltativamente, cerca nelle sottodirectory. |
| EnumerateFiles(String, String, SearchOption) |
Restituisce una raccolta enumerabile di nomi di file completi che corrispondono a un criterio di ricerca in un percorso specificato e, facoltativamente, cerca nelle sottodirectory. |
| EnumerateFiles(String, String) |
Restituisce una raccolta enumerabile di nomi di file completi che corrispondono a un criterio di ricerca in un percorso specificato. |
| EnumerateFiles(String) |
Restituisce una raccolta enumerabile di nomi di file completi in un percorso specificato. |
| EnumerateFileSystemEntries(String, String, EnumerationOptions) |
Restituisce una raccolta enumerabile di nomi di file e nomi di directory che corrispondono a un criterio di ricerca e alle opzioni di enumerazione in un percorso specificato. |
| EnumerateFileSystemEntries(String, String, SearchOption) |
Restituisce una raccolta enumerabile di nomi di file e nomi di directory che corrispondono a un criterio di ricerca in un percorso specificato e, facoltativamente, cerca nelle sottodirectory. |
| EnumerateFileSystemEntries(String, String) |
Restituisce una raccolta enumerabile di nomi di file e nomi di directory che corrispondono a un criterio di ricerca in un percorso specificato. |
| EnumerateFileSystemEntries(String) |
Restituisce una raccolta enumerabile di nomi di file e nomi di directory in un percorso specificato. |
| Exists(String) |
Determina se il percorso specificato fa riferimento a una directory esistente su disco. |
| GetAccessControl(String, AccessControlSections) |
Ottiene un DirectorySecurity oggetto che incapsula il tipo specificato di voci dell'elenco di controllo di accesso (ACL) per una directory specificata. |
| GetAccessControl(String) |
Ottiene un DirectorySecurity oggetto che incapsula le voci dell'elenco di controllo di accesso (ACL) per una directory specificata. |
| GetCreationTime(String) |
Ottiene la data e l'ora di creazione di una directory. |
| GetCreationTimeUtc(String) |
Ottiene la data e l'ora di creazione, in formato UTC (Coordinated Universal Time) di una directory. |
| GetCurrentDirectory() |
Ottiene la directory di lavoro corrente dell'applicazione. |
| GetDirectories(String, String, EnumerationOptions) |
Restituisce i nomi delle sottodirectory (inclusi i relativi percorsi) che corrispondono al criterio di ricerca e alle opzioni di enumerazione specificate nella directory specificata. |
| GetDirectories(String, String, SearchOption) |
Restituisce i nomi delle sottodirectory (inclusi i relativi percorsi) che corrispondono al criterio di ricerca specificato nella directory specificata e, facoltativamente, cerca nelle sottodirectory. |
| GetDirectories(String, String) |
Restituisce i nomi delle sottodirectory (inclusi i relativi percorsi) che corrispondono al criterio di ricerca specificato nella directory specificata. |
| GetDirectories(String) |
Restituisce i nomi delle sottodirectory (inclusi i relativi percorsi) nella directory specificata. |
| GetDirectoryRoot(String) |
Restituisce le informazioni sul volume, le informazioni radice o entrambe per il percorso specificato. |
| GetFiles(String, String, EnumerationOptions) |
Restituisce i nomi dei file ,inclusi i relativi percorsi, che corrispondono al criterio di ricerca e alle opzioni di enumerazione specificati nella directory specificata. |
| GetFiles(String, String, SearchOption) |
Restituisce i nomi dei file ,inclusi i relativi percorsi, che corrispondono al criterio di ricerca specificato nella directory specificata, utilizzando un valore per determinare se eseguire la ricerca nelle sottodirectory. |
| GetFiles(String, String) |
Restituisce i nomi dei file ,inclusi i relativi percorsi, che corrispondono al criterio di ricerca specificato nella directory specificata. |
| GetFiles(String) |
Restituisce i nomi dei file (inclusi i relativi percorsi) nella directory specificata. |
| 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, 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) |
Restituisce i nomi di tutti i file e le sottodirectory in un percorso specificato. |
| GetLastAccessTime(String) |
Restituisce la data e l'ora dell'ultimo accesso al file o alla directory specificata. |
| GetLastAccessTimeUtc(String) |
Restituisce la data e l'ora, in formato UTC (Coordinated Universal Time), a cui è stato eseguito l'ultimo accesso al file o alla directory specificata. |
| GetLastWriteTime(String) |
Restituisce la data e l'ora dell'ultima scrittura del file o della directory specificata. |
| GetLastWriteTimeUtc(String) |
Restituisce la data e l'ora, in formato UTC (Coordinated Universal Time), in cui è stato scritto il file o la directory specificata. |
| GetLogicalDrives() |
Recupera i nomi delle unità logiche in questo computer. |
| GetParent(String) |
Recupera la directory padre del percorso specificato, inclusi i percorsi assoluti e relativi. |
| Move(String, String) |
Sposta un file o una directory e il relativo contenuto in una nuova posizione. |
| ResolveLinkTarget(String, Boolean) |
Ottiene la destinazione del collegamento di directory specificato. |
| SetAccessControl(String, DirectorySecurity) |
Applica le voci dell'elenco di controllo di accesso (ACL) descritte da un DirectorySecurity oggetto alla directory specificata. |
| SetCreationTime(String, DateTime) |
Imposta la data e l'ora di creazione per il file o la directory specificati. |
| SetCreationTimeUtc(String, DateTime) |
Imposta la data e l'ora di creazione, in formato UTC (Coordinated Universal Time) per il file o la directory specificati. |
| SetCurrentDirectory(String) |
Imposta la directory di lavoro corrente dell'applicazione sulla directory specificata. |
| SetLastAccessTime(String, DateTime) |
Imposta la data e l'ora dell'ultimo accesso al file o alla directory specificata. |
| SetLastAccessTimeUtc(String, DateTime) |
Imposta la data e l'ora, in formato UTC (Coordinated Universal Time), a cui è stato eseguito l'ultimo accesso al file o alla directory specificata. |
| SetLastWriteTime(String, DateTime) |
Imposta la data e l'ora dell'ultima scrittura di una directory. |
| SetLastWriteTimeUtc(String, DateTime) |
Imposta la data e l'ora, in formato UTC (Coordinated Universal Time), in cui è stata scritta una directory per l'ultima volta. |