Directory Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengekspos metode statis untuk membuat, memindahkan, dan menghitung melalui direktori dan subdirektori. Kelas ini tidak dapat diwariskan.
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
- Warisan
-
Directory
- Atribut
Contoh
Contoh berikut menunjukkan cara mengambil semua file teks dari direktori dan memindahkannya ke direktori baru. Setelah file dipindahkan, file tersebut tidak lagi ada di direktori asli.
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
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
Module Module1
Sub Main()
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 Module
Contoh berikut menunjukkan cara menggunakan EnumerateFiles metode untuk mengambil kumpulan file teks dari direktori, lalu menggunakan koleksi tersebut dalam kueri untuk menemukan semua baris yang berisi "Contoh".
using System;
using System.IO;
using System.Linq;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
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
Module Module1
Sub Main()
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 Module
Contoh berikut menunjukkan cara memindahkan direktori dan semua filenya ke direktori baru. Direktori asli tidak lagi ada setelah dipindahkan.
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
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
Module Module1
Sub Main()
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 Module
Keterangan
Directory Gunakan kelas untuk operasi umum seperti menyalin, memindahkan, mengganti nama, membuat, dan menghapus direktori.
Untuk membuat direktori, gunakan salah CreateDirectory satu metode .
Untuk menghapus direktori, gunakan salah Delete satu metode .
Untuk mendapatkan atau mengatur direktori saat ini untuk aplikasi, gunakan GetCurrentDirectory metode atau SetCurrentDirectory .
Untuk memanipulasi DateTime informasi yang terkait dengan pembuatan, akses, dan penulisan direktori, gunakan metode seperti SetLastAccessTime dan SetCreationTime.
Metode statis Directory kelas melakukan pemeriksaan keamanan pada semua metode. Jika Anda akan menggunakan kembali objek beberapa kali, pertimbangkan untuk menggunakan metode DirectoryInfo instans yang sesuai sebagai gantinya, karena pemeriksaan keamanan tidak akan selalu diperlukan.
Jika Anda hanya melakukan satu tindakan terkait direktori, mungkin lebih efisien untuk menggunakan metode statis Directory daripada metode instans yang sesuai DirectoryInfo . Sebagian besar Directory metode memerlukan jalur ke direktori yang Anda manipulasi.
Catatan
Dalam anggota yang menerima parameter string path
, jalur tersebut harus terbentuk dengan baik atau pengecualian dinaikkan. Misalnya, jika jalur sepenuhnya memenuhi syarat tetapi dimulai dengan spasi (" c:\temp"), string jalur tidak dipangkas, sehingga jalur dianggap cacat dan pengecualian dinaikkan. Selain itu, jalur atau kombinasi jalur tidak dapat sepenuhnya memenuhi syarat dua kali. Misalnya, "c:\temp c:\windows" juga menimbulkan pengecualian. Pastikan jalur Anda terbentuk dengan baik saat menggunakan metode yang menerima string jalur. Untuk informasi selengkapnya, lihat Path.
Di anggota yang menerima jalur, jalur dapat merujuk ke file atau direktori. Anda dapat menggunakan jalur lengkap, jalur relatif, atau jalur Universal Naming Convention (UNC) untuk server dan nama berbagi. Misalnya, semua berikut ini adalah jalur yang dapat diterima:
"c:\\MyDir" di C#, atau "c:\MyDir" di Visual Basic.
"MyDir\\MySubdir" di C#, atau "MyDir\MySubDir" di Visual Basic.
"\\\MyServer\\MyShare" di C#, atau "\\MyServer\MyShare" di Visual Basic.
Secara default, akses baca/tulis penuh ke direktori baru diberikan kepada semua pengguna. Namun, aplikasi harus memiliki keamanan yang benar untuk mengakses direktori yang ada.
Untuk meminta izin untuk direktori dan semua subdirektorinya, akhiri string jalur dengan karakter pemisah direktori. (Misalnya, "C:\Temp\" memberikan akses ke C:\Temp\ dan semua subdirektorinya.) Untuk meminta izin hanya untuk direktori tertentu, akhiri string jalur dengan titik. (Misalnya, "C:\Temp\." memberikan akses hanya ke C:\Temp\, bukan ke subdirektorinya.)
Dalam anggota yang menerima searchPattern
parameter, string pencarian dapat berupa kombinasi karakter harfiah dan dua karakter kartubebas; * dan ?. Parameter ini tidak mengenali ekspresi reguler. Untuk informasi selengkapnya, lihat EnumerateDirectories(String, String) metode atau metode lain yang menggunakan searchPattern
parameter .
Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.
Directory dan DirectoryInfo tidak didukung untuk digunakan di aplikasi Bursa Windows. Untuk informasi tentang cara mengakses file dan folder di aplikasi Bursa Windows, lihat Mengakses data dan file (aplikasi Windows Store).
Metode
CreateDirectory(String) |
Membuat semua direktori dan subdirektori di jalur yang ditentukan kecuali sudah ada. |
CreateDirectory(String, DirectorySecurity) |
Membuat semua direktori di jalur yang ditentukan, kecuali sudah ada, menerapkan keamanan Windows yang ditentukan. |
CreateDirectory(String, UnixFileMode) |
Membuat semua direktori dan subdirektori di jalur yang ditentukan dengan izin yang ditentukan kecuali sudah ada. |
CreateSymbolicLink(String, String) |
Membuat tautan simbolis direktori yang diidentifikasi oleh |
CreateTempSubdirectory(String) |
Membuat direktori kosong bernama unik di direktori sementara pengguna saat ini. |
Delete(String) |
Menghapus direktori kosong dari jalur tertentu. |
Delete(String, Boolean) |
Menghapus direktori yang ditentukan dan, jika ditunjukkan, subdirektori dan file apa pun di direktori. |
EnumerateDirectories(String) |
Mengembalikan kumpulan nama lengkap direktori yang dapat dijumlahkan dalam jalur tertentu. |
EnumerateDirectories(String, String) |
Mengembalikan kumpulan nama lengkap direktori yang dapat dijumlahkan yang cocok dengan pola pencarian dalam jalur yang ditentukan. |
EnumerateDirectories(String, String, EnumerationOptions) |
Mengembalikan kumpulan nama lengkap direktori yang dapat dijumlahkan yang cocok dengan pola pencarian dalam jalur tertentu, dan secara opsional mencari subdirektori. |
EnumerateDirectories(String, String, SearchOption) |
Mengembalikan kumpulan nama lengkap direktori yang dapat dijumlahkan yang cocok dengan pola pencarian dalam jalur tertentu, dan secara opsional mencari subdirektori. |
EnumerateFiles(String) |
Mengembalikan kumpulan nama file lengkap yang dapat dijumlahkan dalam jalur tertentu. |
EnumerateFiles(String, String) |
Mengembalikan kumpulan nama file lengkap yang dapat dijumlahkan yang cocok dengan pola pencarian dalam jalur tertentu. |
EnumerateFiles(String, String, EnumerationOptions) |
Mengembalikan kumpulan nama file lengkap yang dapat dijumlahkan yang cocok dengan pola pencarian dan opsi enumerasi dalam jalur tertentu, dan secara opsional mencari subdirektori. |
EnumerateFiles(String, String, SearchOption) |
Mengembalikan kumpulan nama file lengkap yang dapat dijumlahkan yang cocok dengan pola pencarian di jalur tertentu, dan secara opsional mencari subdirektori. |
EnumerateFileSystemEntries(String) |
Mengembalikan kumpulan nama file dan nama direktori yang dapat dijumlahkan dalam jalur tertentu. |
EnumerateFileSystemEntries(String, String) |
Mengembalikan kumpulan nama file dan nama direktori yang dapat dijumlahkan yang cocok dengan pola pencarian di jalur tertentu. |
EnumerateFileSystemEntries(String, String, EnumerationOptions) |
Mengembalikan kumpulan nama file dan nama direktori yang dapat dijumlahkan yang cocok dengan pola pencarian dan opsi enumerasi dalam jalur tertentu. |
EnumerateFileSystemEntries(String, String, SearchOption) |
Mengembalikan kumpulan nama file dan nama direktori yang dapat dijumlahkan yang cocok dengan pola pencarian di jalur tertentu, dan secara opsional mencari subdirektori. |
Exists(String) |
Menentukan apakah jalur yang diberikan mengacu pada direktori yang ada pada disk. |
GetAccessControl(String) |
DirectorySecurity Mendapatkan objek yang merangkum entri daftar kontrol akses (ACL) untuk direktori tertentu. |
GetAccessControl(String, AccessControlSections) |
DirectorySecurity Mendapatkan objek yang merangkum jenis entri daftar kontrol akses (ACL) yang ditentukan untuk direktori tertentu. |
GetCreationTime(String) |
Mendapatkan tanggal dan waktu pembuatan direktori. |
GetCreationTimeUtc(String) |
Mendapatkan tanggal dan waktu pembuatan, dalam format Waktu Universal Terkoordinasi (UTC), dari direktori. |
GetCurrentDirectory() |
Mendapatkan direktori kerja aplikasi saat ini. |
GetDirectories(String) |
Mengembalikan nama subdirektori (termasuk jalurnya) dalam direktori yang ditentukan. |
GetDirectories(String, String) |
Mengembalikan nama subdirektori (termasuk jalurnya) yang cocok dengan pola pencarian yang ditentukan dalam direktori yang ditentukan. |
GetDirectories(String, String, EnumerationOptions) |
Mengembalikan nama subdirektori (termasuk jalurnya) yang cocok dengan pola pencarian dan opsi enumerasi yang ditentukan dalam direktori yang ditentukan. |
GetDirectories(String, String, SearchOption) |
Mengembalikan nama subdirektori (termasuk jalurnya) yang cocok dengan pola pencarian yang ditentukan dalam direktori yang ditentukan, dan secara opsional mencari subdirektori. |
GetDirectoryRoot(String) |
Mengembalikan informasi volume, informasi akar, atau keduanya untuk jalur yang ditentukan. |
GetFiles(String) |
Mengembalikan nama file (termasuk jalurnya) dalam direktori yang ditentukan. |
GetFiles(String, String) |
Mengembalikan nama file (termasuk jalurnya) yang cocok dengan pola pencarian yang ditentukan dalam direktori yang ditentukan. |
GetFiles(String, String, EnumerationOptions) |
Mengembalikan nama file (termasuk jalurnya) yang cocok dengan pola pencarian dan opsi enumerasi yang ditentukan dalam direktori yang ditentukan. |
GetFiles(String, String, SearchOption) |
Mengembalikan nama file (termasuk jalurnya) yang cocok dengan pola pencarian yang ditentukan dalam direktori yang ditentukan, menggunakan nilai untuk menentukan apakah akan mencari subdirektori. |
GetFileSystemEntries(String) |
Mengembalikan nama semua file dan subdirektori dalam jalur yang ditentukan. |
GetFileSystemEntries(String, String) |
Mengembalikan array nama file dan nama direktori yang cocok dengan pola pencarian di jalur tertentu. |
GetFileSystemEntries(String, String, EnumerationOptions) |
Mengembalikan array nama file dan nama direktori yang cocok dengan pola pencarian dan opsi enumerasi dalam jalur tertentu. |
GetFileSystemEntries(String, String, SearchOption) |
Mengembalikan array dari semua nama file dan nama direktori yang cocok dengan pola pencarian di jalur tertentu, dan secara opsional mencari subdirektori. |
GetLastAccessTime(String) |
Mengembalikan tanggal dan waktu file atau direktori yang ditentukan terakhir diakses. |
GetLastAccessTimeUtc(String) |
Mengembalikan tanggal dan waktu, dalam format Waktu Universal Terkoordinasi (UTC), bahwa file atau direktori yang ditentukan terakhir diakses. |
GetLastWriteTime(String) |
Mengembalikan tanggal dan waktu file atau direktori yang ditentukan terakhir ditulis. |
GetLastWriteTimeUtc(String) |
Mengembalikan tanggal dan waktu, dalam format Waktu Universal Terkoordinasi (UTC), yang terakhir ditulis oleh file atau direktori yang ditentukan. |
GetLogicalDrives() |
Mengambil nama drive logis pada komputer ini dalam bentuk "<huruf> kandar:\". |
GetParent(String) |
Mengambil direktori induk dari jalur yang ditentukan, termasuk jalur absolut dan relatif. |
Move(String, String) |
Memindahkan file atau direktori dan isinya ke lokasi baru. |
ResolveLinkTarget(String, Boolean) |
Mendapatkan target tautan direktori yang ditentukan. |
SetAccessControl(String, DirectorySecurity) |
Menerapkan entri daftar kontrol akses (ACL) yang DirectorySecurity dijelaskan oleh objek ke direktori yang ditentukan. |
SetCreationTime(String, DateTime) |
Mengatur tanggal dan waktu pembuatan untuk file atau direktori yang ditentukan. |
SetCreationTimeUtc(String, DateTime) |
Mengatur tanggal dan waktu pembuatan, dalam format Waktu Universal Terkoordinasi (UTC), untuk file atau direktori yang ditentukan. |
SetCurrentDirectory(String) |
Mengatur direktori kerja aplikasi saat ini ke direktori yang ditentukan. |
SetLastAccessTime(String, DateTime) |
Mengatur tanggal dan waktu file atau direktori yang ditentukan terakhir diakses. |
SetLastAccessTimeUtc(String, DateTime) |
Mengatur tanggal dan waktu, dalam format Waktu Universal Terkoordinasi (UTC), bahwa file atau direktori yang ditentukan terakhir diakses. |
SetLastWriteTime(String, DateTime) |
Mengatur tanggal dan waktu direktori terakhir ditulis. |
SetLastWriteTimeUtc(String, DateTime) |
Mengatur tanggal dan waktu, dalam format Waktu Universal Terkoordinasi (UTC), yang terakhir ditulis oleh direktori. |