[英]How to check a unit (C:) dirty bit using C#
我知道可以通過從提升的提示符運行命令fsutil dirty query c:
來檢查單元的臟位狀態。 在 windows 10 上,還可以知道是否 C:設置了臟位,無需管理員權限,只需進入“系統和維護”頁面,如果設置了臟位,將會有一條建議告訴它必須重新啟動才能修復文件系統中的損壞。 如何從 C# 程序中檢查臟位狀態(任何單元或什至僅 C :)?
提前感謝任何人都會回答
您可以使用 WMI 查詢獲取此信息
var q = new ObjectQuery("Select * FROM Win32_Volume");
using (var searcher = new ManagementObjectSearcher(q))
using (var moc = searcher.Get())
{
foreach (ManagementObject volume in moc)
{
String label = (String)volume["Label"];
Boolean dirtyBitSet = (Boolean)(volume["DirtyBitSet"] ?? false);
Console.WriteLine($"{label} => {dirtyBitSet}");
}
}
您應該添加對System.Management
程序集的引用,並使用提升的提示符運行您的程序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.