Directory Klas
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.
Biedt statische methoden voor het maken, verplaatsen en inventariseren van mappen en submappen. Deze klasse kan niet worden overgenomen.
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
- Overname
-
Directory
- Kenmerken
Voorbeelden
In het volgende voorbeeld ziet u hoe u alle tekstbestanden uit een map ophaalt en naar een nieuwe map verplaatst. Nadat de bestanden zijn verplaatst, bestaan ze niet meer in de oorspronkelijke map.
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
In het volgende voorbeeld ziet u hoe u de EnumerateFiles methode gebruikt om een verzameling tekstbestanden op te halen uit een map en deze verzameling vervolgens in een query te gebruiken om alle regels te vinden die 'Voorbeeld' bevatten.
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
In het volgende voorbeeld ziet u hoe u een map en alle bijbehorende bestanden naar een nieuwe map verplaatst. De oorspronkelijke map bestaat niet meer nadat deze is verplaatst.
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
Opmerkingen
Gebruik de Directory klasse voor typische bewerkingen, zoals kopiëren, verplaatsen, hernoemen, maken en verwijderen van mappen.
Als u een map wilt maken, gebruikt u een van de CreateDirectory methoden.
Als u een map wilt verwijderen, gebruikt u een van de Delete methoden.
Als u de huidige map voor een app wilt ophalen of instellen, gebruikt u de GetCurrentDirectory of SetCurrentDirectory methode.
Als u informatie wilt bewerken DateTime met betrekking tot het maken, openen en schrijven van een map, gebruikt u methoden zoals SetLastAccessTime en SetCreationTime.
De statische methoden van de Directory klasse voeren beveiligingscontroles uit op alle methoden. Als u een object meerdere keren opnieuw gaat gebruiken, kunt u overwegen om in plaats daarvan DirectoryInfo de bijbehorende exemplaarmethode te gebruiken, omdat de beveiligingscontrole niet altijd nodig is.
Als u slechts één directory-gerelateerde actie uitvoert, is het mogelijk efficiënter om een statische Directory methode te gebruiken in plaats van een bijbehorende DirectoryInfo instantiemethode. Voor de meeste Directory methoden is het pad naar de map vereist die u bewerkt.
Note
In leden die een tekenreeksparameter path accepteren, moet dat pad goed zijn gevormd of wordt er een uitzondering gegenereerd. Als een pad bijvoorbeeld volledig is gekwalificeerd, maar begint met een spatie (" c:\temp"), wordt de padtekenreeks niet ingekort, dus wordt het pad beschouwd als ongeldig en wordt er een uitzondering gegenereerd. Bovendien kan een pad of een combinatie van paden niet tweemaal volledig worden gekwalificeerd. Met 'c:\temp c:\windows' wordt bijvoorbeeld ook een uitzondering gegenereerd. Zorg ervoor dat uw paden goed zijn opgemaakt wanneer u methoden gebruikt die een padtekenreeks accepteren. Zie Pathvoor meer informatie.
In leden die een pad accepteren, kan het pad verwijzen naar een bestand of map. U kunt een volledig pad, een relatief pad of een UNC-pad (Universal Naming Convention) gebruiken voor een server en sharenaam. Zo zijn alle volgende acceptabele paden:
"c:\\MyDir" in C# of "c:\MyDir" in Visual Basic.
"MyDir\\MySubdir" in C# of "MyDir\MySubDir" in Visual Basic.
"\\\\MyServer\\MyShare" in C# of "\\MyServer\MyShare" in Visual Basic.
Standaard wordt volledige lees-/schrijftoegang tot nieuwe mappen verleend aan alle gebruikers. De app moet echter de juiste beveiliging hebben voor toegang tot bestaande mappen.
Als u machtigingen wilt aanvragen voor een map en alle bijbehorende submappen, beëindigt u de padtekenreeks met het scheidingsteken voor de map. (C:\Temp\' verleent bijvoorbeeld toegang tot C:\Temp\ en alle bijbehorende submappen.) Als u alleen machtigingen wilt aanvragen voor een specifieke map, beëindigt u de padtekenreeks met een punt. (Bijvoorbeeld 'C:\Temp\'. verleent alleen toegang tot C:\Temp\, niet tot de submappen.)
In leden die een searchPattern parameter accepteren, kan de zoekreeks elke combinatie van letterlijke tekens en twee jokertekens zijn; * en ?. Deze parameter herkent geen reguliere expressies. Zie de EnumerateDirectories(String, String) methode of een andere methode die gebruikmaakt van de searchPattern parameter voor meer informatie.
Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.
Directory en DirectoryInfo worden niet ondersteund voor gebruik in Windows Store-apps. Zie Toegang tot bestanden en bestanden (Windows Store-apps) voor informatie over het openen van bestanden en mappen in Windows Store-apps.
Methoden
| Name | Description |
|---|---|
| CreateDirectory(String, DirectorySecurity) |
Hiermee maakt u alle mappen in het opgegeven pad, tenzij deze al bestaan, waarbij de opgegeven Windows beveiliging wordt toegepast. |
| CreateDirectory(String) |
Hiermee maakt u alle mappen en submappen in het opgegeven pad, tenzij deze al bestaan. |
| Delete(String, Boolean) |
Hiermee verwijdert u de opgegeven map en, indien aangegeven, submappen en bestanden in de map. |
| Delete(String) |
Hiermee verwijdert u een lege map uit een opgegeven pad. |
| EnumerateDirectories(String, String, EnumerationOptions) |
Retourneert een opsommingsbare verzameling van de map volledige namen die overeenkomen met een zoekpatroon in een opgegeven pad en zoekt desgewenst submappen. |
| EnumerateDirectories(String, String, SearchOption) |
Retourneert een opsommingsbare verzameling map volledige namen die overeenkomen met een zoekpatroon in een opgegeven pad en zoekt eventueel in submappen. |
| EnumerateDirectories(String, String) |
Hiermee wordt een opsommingsbare verzameling mapnamen geretourneerd die overeenkomen met een zoekpatroon in een opgegeven pad. |
| EnumerateDirectories(String) |
Retourneert een opsommingsbare verzameling map volledige namen in een opgegeven pad. |
| EnumerateFiles(String, String, EnumerationOptions) |
Retourneert een opsommingsbare verzameling volledige bestandsnamen die overeenkomen met een zoekpatroon en opsommingsopties in een opgegeven pad en zoekt eventueel in submappen. |
| EnumerateFiles(String, String, SearchOption) |
Retourneert een inventariserbare verzameling volledige bestandsnamen die overeenkomen met een zoekpatroon in een opgegeven pad en zoekt eventueel in submappen. |
| EnumerateFiles(String, String) |
Retourneert een inventariserbare verzameling volledige bestandsnamen die overeenkomen met een zoekpatroon in een opgegeven pad. |
| EnumerateFiles(String) |
Retourneert een inventariserbare verzameling volledige bestandsnamen in een opgegeven pad. |
| EnumerateFileSystemEntries(String, String, EnumerationOptions) |
Retourneert een inventariserbare verzameling bestandsnamen en mapnamen die overeenkomen met een zoekpatroon en opsommingsopties in een opgegeven pad. |
| EnumerateFileSystemEntries(String, String, SearchOption) |
Retourneert een inventariserbare verzameling bestandsnamen en mapnamen die overeenkomen met een zoekpatroon in een opgegeven pad en zoekt desgewenst submappen. |
| EnumerateFileSystemEntries(String, String) |
Retourneert een inventariserbare verzameling bestandsnamen en mapnamen die overeenkomen met een zoekpatroon in een opgegeven pad. |
| EnumerateFileSystemEntries(String) |
Retourneert een inventariserbare verzameling bestandsnamen en mapnamen in een opgegeven pad. |
| Exists(String) |
Bepaalt of het opgegeven pad verwijst naar een bestaande map op schijf. |
| GetAccessControl(String, AccessControlSections) |
Hiermee haalt u een DirectorySecurity object op dat het opgegeven type ACL-vermeldingen (Access Control List) voor een opgegeven map inkapselt. |
| GetAccessControl(String) |
Hiermee haalt u een DirectorySecurity object op dat de ACL-vermeldingen (Access Control List) voor een opgegeven map inkapselt. |
| GetCreationTime(String) |
Hiermee haalt u de aanmaakdatum en -tijd van een map op. |
| GetCreationTimeUtc(String) |
Hiermee haalt u de aanmaakdatum en -tijd, in UTC-indeling (Coordinated Universal Time) van een map op. |
| GetCurrentDirectory() |
Hiermee haalt u de huidige werkmap van de toepassing op. |
| GetDirectories(String, String, EnumerationOptions) |
Retourneert de namen van submappen (inclusief hun paden) die overeenkomen met het opgegeven zoekpatroon en de opsommingsopties in de opgegeven map. |
| GetDirectories(String, String, SearchOption) |
Retourneert de namen van de submappen (inclusief hun paden) die overeenkomen met het opgegeven zoekpatroon in de opgegeven map en doorzoekt eventueel submappen. |
| GetDirectories(String, String) |
Retourneert de namen van submappen (inclusief hun paden) die overeenkomen met het opgegeven zoekpatroon in de opgegeven map. |
| GetDirectories(String) |
Retourneert de namen van submappen (inclusief hun paden) in de opgegeven map. |
| GetDirectoryRoot(String) |
Retourneert de volumegegevens, hoofdinformatie of beide voor het opgegeven pad. |
| GetFiles(String, String, EnumerationOptions) |
Retourneert de namen van bestanden (inclusief hun paden) die overeenkomen met het opgegeven zoekpatroon en de opsommingsopties in de opgegeven map. |
| GetFiles(String, String, SearchOption) |
Retourneert de namen van bestanden (inclusief hun paden) die overeenkomen met het opgegeven zoekpatroon in de opgegeven map, met behulp van een waarde om te bepalen of submappen moeten worden gezocht. |
| GetFiles(String, String) |
Retourneert de namen van bestanden (inclusief hun paden) die overeenkomen met het opgegeven zoekpatroon in de opgegeven map. |
| GetFiles(String) |
Retourneert de namen van bestanden (inclusief hun paden) in de opgegeven map. |
| 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, String) |
Retourneert een matrix met bestandsnamen en mapnamen die overeenkomen met een zoekpatroon in een opgegeven pad. |
| GetFileSystemEntries(String) |
Retourneert de namen van alle bestanden en submappen in een opgegeven pad. |
| GetLastAccessTime(String) |
Retourneert de datum en tijd waarop het opgegeven bestand of de opgegeven map voor het laatst is geopend. |
| GetLastAccessTimeUtc(String) |
Retourneert de datum en tijd, in UTC-indeling (Coordinated Universal Time), dat het opgegeven bestand of de opgegeven map voor het laatst is geopend. |
| GetLastWriteTime(String) |
Retourneert de datum en tijd waarop het opgegeven bestand of de opgegeven map voor het laatst naar is geschreven. |
| GetLastWriteTimeUtc(String) |
Retourneert de datum en tijd, in UTC-indeling (Coordinated Universal Time), waarnaar het opgegeven bestand of de opgegeven map voor het laatst is geschreven. |
| GetLogicalDrives() |
Haalt de namen van de logische stations op deze computer op. |
| GetParent(String) |
Haalt de bovenliggende map van het opgegeven pad op, inclusief zowel absolute als relatieve paden. |
| Move(String, String) |
Hiermee verplaatst u een bestand of map en de inhoud ervan naar een nieuwe locatie. |
| SetAccessControl(String, DirectorySecurity) |
Hiermee past u ACL-vermeldingen (Access Control List) toe die worden beschreven door een DirectorySecurity object op de opgegeven map. |
| SetCreationTime(String, DateTime) |
Hiermee stelt u de aanmaakdatum en -tijd voor het opgegeven bestand of de opgegeven map in. |
| SetCreationTimeUtc(String, DateTime) |
Hiermee stelt u de aanmaakdatum en -tijd in UTC-indeling (Coordinated Universal Time) in voor het opgegeven bestand of de opgegeven map. |
| SetCurrentDirectory(String) |
Hiermee stelt u de huidige werkmap van de toepassing in op de opgegeven map. |
| SetLastAccessTime(String, DateTime) |
Hiermee stelt u de datum en tijd in waarop het opgegeven bestand of de opgegeven map voor het laatst is geopend. |
| SetLastAccessTimeUtc(String, DateTime) |
Hiermee stelt u de datum en tijd in utc-indeling (Coordinated Universal Time) in dat het opgegeven bestand of de opgegeven map voor het laatst is geopend. |
| SetLastWriteTime(String, DateTime) |
Hiermee stelt u de datum en tijd in waarop een map voor het laatst is geschreven. |
| SetLastWriteTimeUtc(String, DateTime) |
Hiermee stelt u de datum en tijd in utc-indeling (Coordinated Universal Time) in waarnaar een map het laatst is geschreven. |