Tôi đang làm việc trên một dự án và tôi cần phải liệt kê tất cả các thư mục con trong một thư mục ví dụ làm thế nào tôi có thể liệt kê tất cả các thư mục phụ trong c: \làm thế nào để liệt kê tất cả các thư mục con trong một thư mục
Trả lời
Sử dụng Directory.GetDirectories
để nhận các thư mục con của thư mục được chỉ định bởi "your_directory_path". Kết quả là một chuỗi các chuỗi.
var directories = Directory.GetDirectories("your_directory_path");
Theo mặc định, chỉ trả về thư mục con một cấp sâu. Có các tùy chọn để trả về tất cả đệ quy và lọc kết quả, documented here và hiển thị trong câu trả lời của Clive.
Tránh một UnauthorizedAccessException
Đó là một cách dễ dàng có thể bạn sẽ nhận được một UnauthorizedAccessException
nếu bạn nhấn một thư mục mà bạn không có quyền truy cập.
Bạn có thể phải tạo phương pháp riêng của mình để xử lý ngoại lệ, như thế này:
public class CustomSearcher
{
public static List<string> GetDirectories(string path, string searchPattern = "*",
SearchOption searchOption = SearchOption.TopDirectoryOnly)
{
if (searchOption == SearchOption.TopDirectoryOnly)
return Directory.GetDirectories(path, searchPattern).ToList();
var directories = new List<string>(GetDirectories(path, searchPattern));
for (var i = 0; i < directories.Count; i++)
directories.AddRange(GetDirectories(directories[i], searchPattern));
return directories;
}
private static List<string> GetDirectories(string path, string searchPattern)
{
try
{
return Directory.GetDirectories(path, searchPattern).ToList();
}
catch (UnauthorizedAccessException)
{
return new List<string>();
}
}
}
Và sau đó gọi nó như thế này:
var directories = CustomSearcher.GetDirectories("your_directory_path");
dễ dàng như thế này:
string[] folders = System.IO.Directory.GetDirectories(@"C:\My Sample Path\","*", System.IO.SearchOption.AllDirectories);
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TRIAL
{
public class Class1
{
static void Main(string[] args)
{
string[] fileArray = Directory.GetDirectories("YOUR PATH");
for (int i = 0; i < fileArray.Length; i++)
{
Console.WriteLine(fileArray[i]);
}
Console.ReadLine();
}
}
}
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result = fbd.ShowDialog();
string[] files = Directory.GetFiles(fbd.SelectedPath);
string[] dirs = Directory.GetDirectories(fbd.SelectedPath);
foreach (string item2 in dirs)
{
FileInfo f = new FileInfo(item2);
listBox1.Items.Add(f.Name);
}
foreach (string item in files)
{
FileInfo f = new FileInfo(item);
listBox1.Items.Add(f.Name);
}
nếu bạn muốn t liệt kê trong hộp danh sách và cấp cho người dùng để chọn thư mục nào, vâng, câu trả lời này hoạt động. –
- 1. Liệt kê tất cả các thư mục trong thư mục
- 2. Liệt kê tất cả các tệp và thư mục trong thư mục + thư mục con
- 3. Làm thế nào để liệt kê tất cả các thư mục và thư mục con/tệp trong iPhone SDK?
- 4. Liệt kê các tệp trong thư mục và tất cả thư mục con
- 5. Lệnh để liệt kê tất cả các tệp trong thư mục cũng như thư mục con trong cửa sổ
- 6. Liệt kê tất cả các nhóm thư mục hoạt động
- 7. liệt kê các thư mục con trong một thư mục - Matlab (chỉ các thư mục con, không phải tệp)
- 8. Làm cách nào để tìm tất cả thư mục con của một thư mục?
- 9. Làm thế nào để liệt kê tất cả các tệp trong một thư mục và thư mục con của nó trong hadoop hdfs
- 10. Tạo một thư mục con cho tất cả các thư mục trong thư mục
- 11. Liệt kê tất cả thư mục con và tệp trong thư mục bằng cách sử dụng php
- 12. Làm thế nào để xóa tất cả các thư mục con trong một số thư mục trong Ant?
- 13. Tìm tất cả các tệp trong một thư mục bằng cách liệt kê
- 14. Liệt kê tất cả các chỉ mục
- 15. Làm thế nào để đuôi tất cả các tệp nhật ký bên trong một thư mục và thư mục con?
- 16. Làm thế nào để liệt kê các thư mục con không trống trên Linux?
- 17. Liệt kê tất cả các tài nguyên được nhúng trong một thư mục
- 18. C# Liệt kê tất cả thư mục con "lá" với EnumerateDirectories
- 19. Liệt kê tất cả các tệp trong một thư mục - đường dẫn đầy đủ của tệp
- 20. tìm thư mục trong một thư mục mà không liệt kê thư mục gốc
- 21. Danh sách tất cả thư mục và thư mục con
- 22. aws sdk php để liệt kê các thư mục s3
- 23. Làm cách nào để liệt kê tất cả các tệp tga trong một thư mục (không đệ quy) trong Python?
- 24. Cách liệt kê các thư mục trống trong linux
- 25. Liệt kê các tệp trên một kích thước cụ thể trong thư mục hiện tại và tất cả các thư mục con
- 26. Liệt kê tất cả các tệp từ thư mục FTP trực tuyến đến một listview C#
- 27. Python: Liệt kê tất cả tên tệp trong một thư mục và thư mục con của nó rồi in kết quả trong một tệp txt
- 28. liệt kê tất cả nội dung của một thư mục trong tfs
- 29. Chỉ liệt kê các tệp trong một thư mục?
- 30. Liệt kê tất cả các máy tính trong thư mục hoạt động
không phải là vẫn ném một UnauthorizedAccessException và * không * nhận được phần còn lại của các thư mục? –
@ J.Doe Nó đi qua một thư mục và tất cả các thư mục con của nó đệ quy. Nếu nó chạm vào một thư mục con mà nó không thể truy cập, một cái gì đó đã ném ra một 'UnauthorizedAccessException', nó bắt được ngoại lệ và chỉ trả về một danh sách trống cho thư mục không thể truy cập đó. Sau đó, nó tiếp tục đến thư mục con tiếp theo. –