Console.WriteLine("Hello, World!");
//获取DeviceId
ManagementClass managementClass = new ManagementClass("win32_volume");
ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();
foreach (ManagementObject managementObject in managementObjectCollection)
{
Console.WriteLine("DeviceID: {0}", managementObject["DeviceID"].ToString());
Console.WriteLine("DriveLetter: {0}", managementObject["DriveLetter"]?.ToString());
Console.WriteLine("Label: {0}", managementObject["Label"]?.ToString());
//Console.WriteLine("VolumeName: {0}", managementObject["VolumeName"].ToString());
Console.WriteLine("-------------------------------");
}
managementObjectCollection.Dispose();
managementClass.Dispose();
//通过使用Volume读写文件
var volumePath = @"\\?\Volume{8aac4aa1-8282-46c7-8cf0-2c93a0b803f5}\demo";
Directory.CreateDirectory(volumePath);
var volumeFile = @$"{volumePath}\demo.log";
//写入
using (var fsw = new FileStream(volumeFile, FileMode.OpenOrCreate, FileAccess.Write))
{
using var writer = new StreamWriter(fsw);
writer.Write(DateTime.Now.ToString("G"));
writer.Flush();
}
//读取
using (var fs = new FileStream(volumeFile, FileMode.Open, FileAccess.Read))
{
using var reader = new StreamReader(fs);
// 读取设备信息
string driveInfo = reader.ReadToEnd();
Console.WriteLine(driveInfo);
}
【C#读写隐藏分区中的文件】在Windows中没有盘符
最新推荐文章于 2025-04-09 15:48:38 发布