C# में किसी ड्राइव की रूट डायरेक्टरी (root directory) का पथ प्राप्त करने के लिए DriveInfo.RootDirectory प्रॉपर्टी का उपयोग किया जाता है। यह प्रॉपर्टी एक DirectoryInfo ऑब्जेक्ट लौटाती है जो रूट डायरेक्टरी को दर्शाता है।
उदाहरण
using System;
using System.IO;
public class Demo
{
public static void Main()
{
try
{
// C: ड्राइव के लिए DriveInfo ऑब्जेक्ट
DriveInfo drive = new DriveInfo("C");
if (drive.IsReady)
{
// रूट डायरेक्टरी प्राप्त करें
DirectoryInfo rootDir = drive.RootDirectory;
Console.WriteLine($"ड्राइव: {drive.Name}");
Console.WriteLine($"रूट डायरेक्टरी पथ: {rootDir.FullName}");
Console.WriteLine($"रूट डायरेक्टरी नाम: {rootDir.Name}");
Console.WriteLine($"निर्माण समय: {rootDir.CreationTime}");
Console.WriteLine($"विशेषताएं: {rootDir.Attributes}");
}
else
{
Console.WriteLine("ड्राइव तैयार नहीं है।");
}
}
catch (Exception ex)
{
Console.WriteLine($"त्रुटि: {ex.Message}");
}
}
}
आउटपुट (Windows)
ड्राइव: C:\ रूट डायरेक्टरी पथ: C:\ रूट डायरेक्टरी नाम: C:\ निर्माण समय: 1/15/2023 10:30:00 AM विशेषताएं: Directory, Hidden, System
आउटपुट (Linux)
ड्राइव: / रूट डायरेक्टरी पथ: / रूट डायरेक्टरी नाम: / निर्माण समय: 1/1/1970 5:30:00 AM विशेषताएं: Directory
RootDirectory के साथ सामान्य संक्रियाएं
using System;
using System.IO;
public class Demo
{
public static void Main()
{
DriveInfo drive = new DriveInfo("C");
if (drive.IsReady)
{
DirectoryInfo root = drive.RootDirectory;
// रूट में फाइल्स और सबडायरेक्टरीज सूचीबद्ध करें
Console.WriteLine("रूट डायरेक्टरी की सामग्री:");
// सबडायरेक्टरीज
DirectoryInfo[] subDirs = root.GetDirectories();
foreach (DirectoryInfo dir in subDirs)
{
Console.WriteLine($"[DIR] {dir.Name}");
}
// फाइल्स
FileInfo[] files = root.GetFiles();
foreach (FileInfo file in files)
{
Console.WriteLine($"[FILE] {file.Name} ({FormatSize(file.Length)})");
}
}
}
static string FormatSize(long bytes)
{
string[] units = { "B", "KB", "MB", "GB" };
int i = 0;
double size = bytes;
while (size >= 1024 && i < units.Length - 1)
{
size /= 1024;
i++;
}
return $"{size:F1} {units[i]}";
}
}
महत्वपूर्ण बिंदु
RootDirectoryएकDirectoryInfoऑब्जेक्ट लौटाता है, स्ट्रिंग नहीं- इससे
FullName,Name,Parent,GetFiles(),GetDirectories()आदि एक्सेस कर सकते हैं - रूट डायरेक्टरी का
Parentnull होता है - Windows पर रूट डायरेक्टरी आमतौर पर "C:\" जैसी होती है, Linux पर "/"