Directory Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Expõe métodos estáticos para criar, mover e enumerar através de diretórios e subdiretórios. Esta classe não pode ser herdada.
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
- Herança
-
Directory
- Atributos
Exemplos
O exemplo seguinte mostra como recuperar todos os ficheiros de texto de um diretório e movê-los para um novo diretório. Depois de os ficheiros serem movidos, deixam de existir no diretório original.
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
O exemplo seguinte demonstra como usar o EnumerateFiles método para recuperar uma coleção de ficheiros de texto de um diretório e depois usar essa coleção numa consulta para encontrar todas as linhas que contêm "Exemplo".
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
O exemplo seguinte demonstra como mover um diretório e todos os seus ficheiros para um novo diretório. O diretório original deixa de existir depois de ter sido movido.
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
Observações
Use a Directory classe para operações típicas como copiar, mover, renomear, criar e eliminar diretórios.
Para criar um diretório, use um dos CreateDirectory métodos.
Para eliminar um diretório, use um dos Delete métodos.
Para obter ou definir o diretório atual de uma aplicação, use o GetCurrentDirectory método ou SetCurrentDirectory .
Para manipular DateTime informação relacionada com a criação, acesso e escrita de um diretório, utilize métodos como SetLastAccessTime e SetCreationTime.
Os métodos estáticos da Directory classe realizam verificações de segurança em todos os métodos. Se for reutilizar um objeto várias vezes, considere usar o método de instância correspondente, DirectoryInfo pois a verificação de segurança nem sempre será necessária.
Se estiver a realizar apenas uma ação relacionada com diretórios, pode ser mais eficiente usar um método estático Directory em vez de um método de instância correspondente DirectoryInfo . A maioria Directory dos métodos requer o caminho para o diretório que estás a manipular.
Note
Em membros que aceitam um parâmetro de string path , esse caminho deve estar bem formado ou é criada uma exceção. Por exemplo, se um caminho for totalmente qualificado mas começar com um espaço (" c:\temp"), a cadeia de caminho não é aparada, pelo que o caminho é considerado malformado e uma exceção é levantada. Além disso, um caminho ou uma combinação de caminhos não pode ser totalmente qualificado duas vezes. Por exemplo, "c:\temp c:\windows" também levanta uma exceção. Certifique-se de que os seus caminhos estão bem formados ao usar métodos que aceitam uma cadeia de caminho. Para obter mais informações, consulte Path.
Nos membros que aceitam um caminho, o caminho pode referir-se a um ficheiro ou diretório. Pode usar um caminho completo, um caminho relativo ou um caminho de Convenção de Nomes Universal (UNC) para um nome de servidor e partilha. Por exemplo, todos os seguintes são caminhos aceitáveis:
"c:\\MyDir" em C#, ou "c:\MyDir" no Visual Basic.
"MyDir\\MySubdir" em C#, ou "MyDir\MySubDir" em Visual Basic.
"\\\\MyServer\\MyShare" em C#, ou "\\MyServer\MyShare" no Visual Basic.
Por defeito, é concedido acesso total de leitura/escrita a novos diretórios a todos os utilizadores. No entanto, a aplicação deve ter a segurança correta para aceder a diretórios existentes.
Para exigir permissões para um diretório e todos os seus subdiretórios, termine a cadeia de caminho com o carácter separador de diretório. (Por exemplo, "C:\Temp\" concede acesso a C:\Temp\ e a todos os seus subdiretórios.) Para exigir permissões apenas para um diretório específico, termine a cadeia de caminho com um ponto. (Por exemplo, "C:\Temp\." concede acesso apenas a C:\Temp\, não aos seus subdiretórios.)
Em membros que aceitam um searchPattern parâmetro, a cadeia de pesquisa pode ser qualquer combinação de caracteres literais e dois caracteres curinga; * e ?. Este parâmetro não reconhece expressões regulares. Para mais informações, consulte o EnumerateDirectories(String, String) método ou qualquer outro método que utilize o searchPattern parâmetro.
Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.
Directory e DirectoryInfo não são suportados para uso em aplicações Windows Store. Para informações sobre como aceder a ficheiros e pastas nas aplicações Windows Store, veja Aceder a dados e ficheiros (Windows aplicações da Store).
Métodos
| Name | Description |
|---|---|
| CreateDirectory(String, DirectorySecurity) |
Cria todos os diretórios no caminho especificado, a menos que já existam, aplicando a segurança do Windows especificada. |
| CreateDirectory(String) |
Cria todos os diretórios e subdiretórios no caminho especificado, a menos que já existam. |
| Delete(String, Boolean) |
Elimina o diretório especificado e, se indicado, quaisquer subdiretórios e ficheiros no diretório. |
| Delete(String) |
Apaga um diretório vazio de um caminho especificado. |
| EnumerateDirectories(String, String, EnumerationOptions) |
Devolve uma coleção enumerável dos nomes completos dos diretórios que correspondem a um padrão de pesquisa num caminho especificado e, opcionalmente, pesquisa subdiretórios. |
| EnumerateDirectories(String, String, SearchOption) |
Devolve uma coleção enumerável de nomes completos de diretórios que correspondem a um padrão de pesquisa num caminho especificado e, opcionalmente, pesquisa em subdiretórios. |
| EnumerateDirectories(String, String) |
Devolve uma coleção enumerável de nomes completos de diretórios que correspondem a um padrão de pesquisa num caminho especificado. |
| EnumerateDirectories(String) |
Devolve uma coleção enumerável de nomes completos de diretórios num caminho especificado. |
| EnumerateFiles(String, String, EnumerationOptions) |
Devolve uma coleção enumerável de nomes completos de ficheiros que correspondem a um padrão de pesquisa e opções de enumeração num caminho especificado, e opcionalmente pesquisa subdiretórios. |
| EnumerateFiles(String, String, SearchOption) |
Devolve uma coleção enumerável de nomes completos de ficheiros que correspondem a um padrão de pesquisa num caminho especificado e, opcionalmente, pesquisa subdiretórios. |
| EnumerateFiles(String, String) |
Devolve uma coleção enumerável de nomes completos de ficheiros que correspondem a um padrão de pesquisa num caminho especificado. |
| EnumerateFiles(String) |
Devolve uma coleção enumerável de nomes completos de ficheiros num caminho especificado. |
| EnumerateFileSystemEntries(String, String, EnumerationOptions) |
Devolve uma coleção enumerável de nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa e opções de enumeração num caminho especificado. |
| EnumerateFileSystemEntries(String, String, SearchOption) |
Devolve uma coleção enumerável de nomes de ficheiros e nomes de diretórios que correspondem a um padrão de pesquisa num caminho especificado, e opcionalmente pesquisa em subdiretórios. |
| EnumerateFileSystemEntries(String, String) |
Devolve uma coleção enumerável de nomes de ficheiros e nomes de diretórios que correspondem a um padrão de pesquisa num caminho especificado. |
| EnumerateFileSystemEntries(String) |
Devolve uma coleção enumerável de nomes de ficheiros e nomes de diretórios num caminho especificado. |
| Exists(String) |
Determina se o caminho dado se refere a um diretório existente no disco. |
| GetAccessControl(String, AccessControlSections) |
Obtém um DirectorySecurity objeto que encapsula o tipo especificado de entradas de lista de controlo de acesso (ACL) para um diretório especificado. |
| GetAccessControl(String) |
Obtém um DirectorySecurity objeto que encapsula as entradas da lista de controlo de acesso (ACL) para um diretório especificado. |
| GetCreationTime(String) |
Obtém a data e hora de criação de um diretório. |
| GetCreationTimeUtc(String) |
Obtém a data e hora de criação, em formato de Tempo Universal Coordenado (UTC), de um diretório. |
| GetCurrentDirectory() |
Obtém o diretório funcional atual da aplicação. |
| GetDirectories(String, String, EnumerationOptions) |
Devolve os nomes dos subdiretórios (incluindo os seus caminhos) que correspondem ao padrão de pesquisa especificado e às opções de enumeração no diretório especificado. |
| GetDirectories(String, String, SearchOption) |
Devolve os nomes dos subdiretórios (incluindo os seus caminhos) que correspondem ao padrão de pesquisa especificado no diretório especificado e, opcionalmente, pesquisa nos subdiretórios. |
| GetDirectories(String, String) |
Devolve os nomes dos subdiretórios (incluindo os seus caminhos) que correspondem ao padrão de pesquisa especificado no diretório especificado. |
| GetDirectories(String) |
Devolve os nomes dos subdiretórios (incluindo os seus caminhos) no diretório especificado. |
| GetDirectoryRoot(String) |
Devolve a informação de volume, a informação raiz ou ambas para o caminho especificado. |
| GetFiles(String, String, EnumerationOptions) |
Devolve os nomes dos ficheiros (incluindo os seus caminhos) que correspondem ao padrão de pesquisa especificado e às opções de enumeração no diretório especificado. |
| GetFiles(String, String, SearchOption) |
Devolve os nomes dos ficheiros (incluindo os seus caminhos) que correspondem ao padrão de pesquisa especificado no diretório especificado, usando um valor para determinar se deve pesquisar nos subdiretórios. |
| GetFiles(String, String) |
Devolve os nomes dos ficheiros (incluindo os seus caminhos) que correspondem ao padrão de pesquisa especificado no diretório especificado. |
| GetFiles(String) |
Devolve os nomes dos ficheiros (incluindo os seus caminhos) no diretório especificado. |
| GetFileSystemEntries(String, String, EnumerationOptions) |
Devolve um array de nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa e opções de enumeração num caminho especificado. |
| GetFileSystemEntries(String, String, SearchOption) |
Devolve um array com todos os nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa num caminho especificado, e opcionalmente pesquisa em subdiretórios. |
| GetFileSystemEntries(String, String) |
Devolve um array de nomes de ficheiros e diretórios que correspondem a um padrão de pesquisa num caminho especificado. |
| GetFileSystemEntries(String) |
Devolve os nomes de todos os ficheiros e subdiretórios num caminho especificado. |
| GetLastAccessTime(String) |
Devolve a data e hora em que o ficheiro ou diretório especificado foi acedido pela última vez. |
| GetLastAccessTimeUtc(String) |
Devolve a data e hora, em formato de Tempo Universal Coordenado (UTC), em que o ficheiro ou diretório especificado foi acedido pela última vez. |
| GetLastWriteTime(String) |
Devolve a data e hora em que o ficheiro ou diretório especificado foi escrito pela última vez. |
| GetLastWriteTimeUtc(String) |
Devolve a data e hora, em formato de Tempo Universal Coordenado (UTC), em que o ficheiro ou diretório especificado foi escrito pela última vez. |
| GetLogicalDrives() |
Recupera os nomes dos discos lógicos neste computador. |
| GetParent(String) |
Recupera o diretório pai do caminho especificado, incluindo caminhos absolutos e relativos. |
| Move(String, String) |
Move um ficheiro ou diretório e o seu conteúdo para uma nova localização. |
| SetAccessControl(String, DirectorySecurity) |
Aplica entradas da lista de controlo de acesso (ACL) descritas por um DirectorySecurity objeto ao diretório especificado. |
| SetCreationTime(String, DateTime) |
Define a data e hora de criação para o ficheiro ou diretório especificado. |
| SetCreationTimeUtc(String, DateTime) |
Define a data e hora de criação, em formato de Tempo Universal Coordenado (UTC), para o ficheiro ou diretório especificado. |
| SetCurrentDirectory(String) |
Define o diretório de trabalho atual da aplicação para o diretório especificado. |
| SetLastAccessTime(String, DateTime) |
Define a data e hora em que o ficheiro ou diretório especificado foi acedido pela última vez. |
| SetLastAccessTimeUtc(String, DateTime) |
Define a data e a hora, em formato de Tempo Universal Coordenado (UTC), em que o ficheiro ou diretório especificado foi acedido pela última vez. |
| SetLastWriteTime(String, DateTime) |
Define a data e hora em que um diretório foi escrito pela última vez. |
| SetLastWriteTimeUtc(String, DateTime) |
Define a data e hora, em formato de Tempo Universal Coordenado (UTC), onde um diretório foi escrito pela última vez. |