由于 Windows 中的驱动器号用完了,我有一些驱动器被安装在 NTFS 文件夹中。我如何才能轻松检查这些驱动器上的可用空间?我在 Google 上搜索了,但没有成功。
答案1
diskmgmt.msc
对于所有卷,无论其安装在何处,“磁盘管理”控制台都有“可用空间”和“可用百分比”列。
PowerShellGet-Volume
同样有一个SizeRemaining
列,并且可以添加一个带有百分比的自定义列,如下所示(尽管它会破坏现有列的自动格式):
Get-Volume | select FileSystemLabel,
@{Name="FreeGB";Expression={$_.SizeRemaining/1e9}},
@{Name="%Free";Expression={$_.SizeRemaining/$_.Size*100}},
Path;
(这在 PS7 中看起来更好,因为它对值进行了四舍五入,而 PS5 则没有。)
在 API 级别,同样GetDiskFreeSpaceEx()
(例如通过 Python 的 pywin32)接受任何类型的路径,并且本质上不限于驱动器号。(例如,我有一个老的 df
克隆。
答案2
fsutil
可以做到这一点。
作为测试,我在 中安装了一个空分区c:\foo
。然后使用以下命令获取卷 ID fsutil volume list
:
C:\temp>fsutil volume list
Possible volumes and current mount points are:
\\?\Volume{a81467b8-cd80-4d3a-88aa-8b7663286301}\
C:\
\\?\Volume{5f40e7c5-e9a5-49b6-a298-2e7293b462ba}\
\\?\Volume{b1758026-c638-4776-82c1-def41293cb5b}\
C:\foo\
\\?\Volume{f287744b-f47a-4b8b-811f-3d8fe071661d}\
从中我们可以看出,我们想要的卷是作为c:\foo
ie安装的卷\\?\Volume{b1758026-c638-4776-82c1-def41293cb5b}\
。然后要获取可用空间,请使用fsutil volume diskfree
:
C:\temp>fsutil volume diskfree \\?\Volume{b1758026-c638-4776-82c1-def41293cb5b}\
Total free bytes : 255,936,524,288 (238.4 GB)
Total bytes : 256,042,332,160 (238.5 GB)
Total quota free bytes : 255,936,524,288 (238.4 GB)
Unavailable pool bytes : 0 ( 0.0 KB)
Quota unavailable pool bytes : 0 ( 0.0 KB)
Used bytes : 101,613,568 ( 96.9 MB)
Total Reserved bytes : 4,194,304 ( 4.0 MB)
Volume storage reserved bytes : 0 ( 0.0 KB)
Available committed bytes : 0 ( 0.0 KB)
Pool available bytes : 0 ( 0.0 KB)
答案3
尽管讨论 cli 选项的其他答案效率更高,但 GUI 方法:
打开普通分区特性,显示可用空间:
- 右键单击已挂载分区的目录 →特性
- 类型: 已安装卷→Properties