簡體   English   中英

如何使用 C# 檢查單位 (C:) 臟位

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM