ডিরেক্টরি পাওয়ার জন্য C#-তে Directory.GetDirectories মেথড আছে। এটি নির্দিষ্ট সার্চ প্যাটার্ন অনুযায়ী সাবডিরেক্টরির নাম (পাথসহ) রিটার্ন করে, এবং অপশনালি সাবডিরেক্টরিও সার্চ করে।
উদাহরণে * শূন্য বা অধিক ক্যারেক্টার ম্যাচ করে।
SearchOption.TopDirectoryOnly: শুধু টপ ডিরেক্টরি।
SearchOption.AllDirectories: টপ এবং সকল সাবডিরেক্টরি।
নোট: rootPath আপনার সিস্টেম অনুযায়ী হবে, টেস্ট ফোল্ডার তৈরি করে অনুযায়ী পাথ দিন।
উদাহরণ ১: শুধু টপ ডিরেক্টরি
static void Main(string[] args)
{
string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.TopDirectoryOnly);
foreach (string dir in dirs)
{
Console.WriteLine(dir);
}
Console.ReadLine();
}
আউটপুট
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2
উদাহরণ ২: সকল সাবডিরেক্টরি সহ
static void Main(string[] args)
{
string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.AllDirectories);
foreach (string dir in dirs)
{
Console.WriteLine(dir);
}
Console.ReadLine();
}
আউটপুট
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMainSubDirectory
টিপ: বড় ডিরেক্টরি ট্রি জন্য Directory.EnumerateDirectories ব্যবহার করুন (লেজি ইভ্যালুয়েশন, কম মেমরি)।