Windowsでは、次のコマンドを実行し、出力を解析できます。
vssadmin list volumes
これが得られます。そして、
C:\Windows\system32>vssadmin list volumes
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.
Volume path: \\?\Volume{66c6160d-60cc-11e3-824b-806e6f6e6963}\
Volume name: \\?\Volume{66c6160d-60cc-11e3-824b-806e6f6e6963}\
Volume path: D:\
Volume name: \\?\Volume{66c6160f-60cc-11e3-824b-806e6f6e6963}\
Volume path: C:\
Volume name: \\?\Volume{66c6160e-60cc-11e3-824b-806e6f6e6963}\
を実行します
fsutil volume diskfree
与える:はい、私はそのことを正確にクリーンな方法を知っているが、それは次のとおりです。
C:\Users\MC>fsutil volume diskfree \\?\Volume{66c6160e-60cc-11e3-824b-806e6f6e6963}\
Total # of free bytes : 47826694144
Total # of bytes : 255691059200
Total # of avail free bytes : 47826694144
をシェルプロセスの出力を読み取るには、標準出力
string output = proc.StandardOutput.ReadToEnd();
免責事項を読むことができます方法。私はこのような低レベルの情報にアクセスするためのAPIを知らないので。
http://stackoverflow.com/questions/412632/how-do-i-retrieve-disk-information-in-cなぜ4096は正確なバイト数ではないと思いますか? 4096バイトは4KBです(1,024バイト/ KBを使用) – ChrisPatrick
こんにちは、DriveInfoはできません。それはそれらの量についても知らない。私は、GUID(\\?\ GLOBALROOT \ Device \ HarddiskVolume15など)による文字アクセスのないボリュームについて話しています。可能であれば、VDSなしでそれを判断する必要があります(精度が1バイトの精度のように不可能な場合)4096の丸めは問題ありません。 – SmartK8
申し訳ありませんが、私はあなたに戻ったことはありません。あなたが正しい。ありがとう。 – SmartK8