Board logo

标题: [系统相关] [已解决]cmd里面如何查磁盘空间 [打印本页]

作者: habulu    时间: 2021-7-7 14:54     标题: [已解决]cmd里面如何查磁盘空间

本帖最后由 habulu 于 2021-7-8 20:10 编辑

有什么命令可以直接在cmd里面看磁盘空间么,不需要放bat里的那种。

我也找了一个,但不直观:
wmic volume get  Name,Capacity,FreeSpace
输出
  1. Capacity      FreeSpace     Name
  2. 127221624832  26603552768   C:\
  3. 523235328     156549120     \\?\Volume{af9dc4cf-4748-4c7f-8937-56d24a7ccb5d}\
  4.                             G:\
复制代码
看上去不直观,如果能把byte单位转成G也可以
作者: idwma    时间: 2021-7-7 20:19

mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c echo list volume |diskpart &pause","","runas",1)(window.close)&&exit /b
作者: habulu    时间: 2021-7-8 07:34

测了下楼上的脚本
显示的好像是磁盘总大小,其实平时一般会更关心剩余磁盘空间大小
另外原先的窗口好像被关了,这样如果一次执行多个cmd命令的话,之前的输出看不到了
作者: habulu    时间: 2021-7-8 07:41

本帖最后由 habulu 于 2021-7-8 07:48 编辑

我又换了个格式,输出比之前的更直观点,就差byte单位转GB,感觉
wmic logicaldisk get DeviceID,Size,FreeSpace,Description,FileSystem
  1. Description   DeviceID  FileSystem  FreeSpace     Size
  2. 本地固定磁盘  C:        NTFS        26514804736   127221624832
  3. 光盘          G:
复制代码
如果能把后面两个输出都做“/1024/1024/1024”处理就最好,类似下面,可惜不能输出
wmic logicaldisk get DeviceID,Size/1024/1024/1024,FreeSpace/1024/1024/1024,Description,FileSystem
作者: habulu    时间: 2021-7-8 07:59

本帖最后由 habulu 于 2021-7-8 08:04 编辑

找个个网站
https://superuser.com/questions/ ... et-disk-space-in-gb
上面有类似的,这个好像可以,就是感觉代码有点长:
for /f "tokens=1-3" %a in ('WMIC LOGICALDISK GET FreeSpace^,Name^,Size ^|FINDSTR /I /V "Name"') do @echo wsh.echo "%b" ^& " free=" ^& FormatNumber^(cdbl^(%a^)/1024/1024/1024, 2^)^& " GiB"^& " size=" ^& FormatNumber^(cdbl^(%c^)/1024/1024/1024, 2^)^& " GiB" > %temp%\tmp.vbs & @if not "%c"=="" @echo( & @cscript //nologo %temp%\tmp.vbs & del %temp%\tmp.vbs
作者: newswan    时间: 2021-7-8 22:39

powershell
  1. Get-Volume
复制代码
cmd
  1. powershell -c "get-volume"
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2