C# में किसी ड्राइव पर उपलब्ध खाली स्थान जानने के लिए DriveInfo क्लास की दो प्रॉपर्टीज का उपयोग किया जाता है:
- AvailableFreeSpace - वर्तमान उपयोगकर्ता के लिए उपलब्ध खाली स्थान (बाइट्स में)
- TotalFreeSpace - ड्राइव पर कुल खाली स्थान (बाइट्स में, सभी उपयोगकर्ताओं के लिए)
उदाहरण
using System;
using System.IO;
public class Demo
{
public static void Main()
{
try
{
// D: ड्राइव के लिए जानकारी प्राप्त करें
DriveInfo drive = new DriveInfo("D");
if (drive.IsReady)
{
Console.WriteLine($"ड्राइव: {drive.Name}");
Console.WriteLine($"फाइल सिस्टम: {drive.DriveFormat}");
Console.WriteLine();
// बाइट्स में मान
Console.WriteLine("बाइट्स में:");
Console.WriteLine($" उपलब्ध खाली स्थान: {drive.AvailableFreeSpace:N0} बाइट्स");
Console.WriteLine($" कुल खाली स्थान: {drive.TotalFreeSpace:N0} बाइट्स");
Console.WriteLine($" कुल ड्राइव आकार: {drive.TotalSize:N0} बाइट्स");
Console.WriteLine();
// पठनीय प्रारूप में
Console.WriteLine("पठनीय प्रारूप में:");
Console.WriteLine($" उपलब्ध खाली स्थान: {FormatBytes(drive.AvailableFreeSpace)}");
Console.WriteLine($" कुल खाली स्थान: {FormatBytes(drive.TotalFreeSpace)}");
Console.WriteLine($" कुल ड्राइव आकार: {FormatBytes(drive.TotalSize)}");
Console.WriteLine();
// उपयोग प्रतिशत
double usedPercent = 100.0 * (drive.TotalSize - drive.TotalFreeSpace) / drive.TotalSize;
Console.WriteLine($"ड्राइव उपयोग: {usedPercent:F1}%");
}
else
{
Console.WriteLine("ड्राइव तैयार नहीं है या एक्सेस नहीं हो सकता।");
}
}
catch (Exception ex)
{
Console.WriteLine($"त्रुटि: {ex.Message}");
}
}
static string FormatBytes(long bytes)
{
string[] units = { "B", "KB", "MB", "GB", "TB" };
int i = 0;
double size = bytes;
while (size >= 1024 && i < units.Length - 1)
{
size /= 1024;
i++;
}
return $"{size:F2} {units[i]}";
}
}
आउटपुट
ड्राइव: D:\ फाइल सिस्टम: NTFS बाइट्स में: उपलब्ध खाली स्थान: 722,243,567,912 बाइट्स कुल खाली स्थान: 722,243,567,912 बाइट्स कुल ड्राइव आकार: 1,000,204,886,016 बाइट्स पठनीय प्रारूप में: उपलब्ध खाली स्थान: 672.65 GB कुल खाली स्थान: 672.65 GB कुल ड्राइव आकार: 931.51 GB ड्राइव उपयोग: 27.8%
AvailableFreeSpace बनाम TotalFreeSpace
| प्रॉपर्टी | विवरण |
|---|---|
AvailableFreeSpace | वर्तमान उपयोगकर्ता के लिए उपलब्ध खाली स्थान (कोटा/अनुमतियों को ध्यान में रखते हुए) |
TotalFreeSpace | ड्राइव पर भौतिक रूप से खाली कुल स्थान |
आमतौर पर दोनों मान समान होते हैं, लेकिन डिस्क कोटा (quotas) सक्षम होने पर या विशेष अनुमतियों वाले सिस्टम पर ये भिन्न हो सकते हैं।
महत्वपूर्ण बिंदु
- दोनों प्रॉपर्टीज
long(64-बिट इंटीजर) लौटाती हैं - मान बाइट्स में होते हैं - प्रदर्शन के लिए KB/MB/GB में बदलें
IsReadyकी जांच अवश्य करें, अन्यथाIOExceptionफेंका जा सकता है- नेटवर्क ड्राइव्स के लिए भी काम करता है (अनुमति होने पर)