Board logo

标题: [其他] 【已解决】批处理怎样查看C盘已用空间?谢谢 [打印本页]

作者: yyz219    时间: 2023-8-17 11:09     标题: 【已解决】批处理怎样查看C盘已用空间?谢谢

本帖最后由 yyz219 于 2023-8-18 20:13 编辑

完美解决:
查看C盘已用空间.wcs
find C:\=?,a    //查C:盘总空间
ifex C:\=?,b    //查C:盘剩余空间
calc c=(%a% - %b%) / 1g # 2  //以G为单位,保留两位小数
mess. [C盘已用空间:%c%GB]


********************************
原来的问题:
批处理怎样查看C盘已用空间?
作者: czjt1234    时间: 2023-8-17 11:50

dir 就可以看到,最后一行
作者: yakeyun    时间: 2023-8-17 13:57

回复 1# yyz219
  1. @echo off&setlocal enabledelayedexpansion
  2. echo 获取磁盘分区信息:
  3. echo.
  4. for /f "tokens=1-3" %%a in ('wmic logicaldisk get DeviceID^,Size^,FreeSpace ^|find ":"') do (
  5.     set dp=%%a
  6.     set dpf=%%b
  7.     set dpt=%%c
  8.     echo 磁盘分区: !dp!
  9.     REM 将字节转换为GB
  10. for /f %%d in ('powershell -command "  !dpf!  / 1024 / 1024 / 1024 "') do set FreeGB=%%d
  11. for /f %%e in ('powershell -command "  !dpt!  / 1024 / 1024 / 1024 "') do set TotalGB=%%e
  12.     echo    总容量: !TotalGB! GB
  13.     echo    可用容量: !FreeGB! GB
  14.     echo.
  15. )
  16. pause
复制代码

作者: yakeyun    时间: 2023-8-17 13:59

本帖最后由 yakeyun 于 2023-8-17 18:30 编辑

回复 3# yakeyun


如果只需要获取C盘就是下面代码:
  1. @echo off&setlocal enabledelayedexpansion
  2. echo 获取磁盘分区信息:
  3. echo.
  4. for /f "tokens=1-3" %%a in ('wmic logicaldisk get DeviceID^,Size^,FreeSpace ^|find "C:"') do (
  5.     set dp=%%a
  6.     set dpf=%%b
  7.     echo 磁盘分区: !dp!
  8.     REM 将字节转换为GB
  9. for /f %%d in ('powershell -command "  !dpf!  / 1024 / 1024 / 1024 "') do set FreeGB=%%d
  10. for /f "tokens=1,2 delims=." %%f in ("!FreeGB!") do (
  11. set intPart=%%f
  12. set decPart=%%g
  13. set decPart=!decPart:~0,2!
  14. set truncatedValue=!intPart!.!decPart!
  15.     echo    可用容量: !truncatedValue! GB
  16.     echo.
  17. )
  18. )
  19. pause
复制代码

作者: yyz219    时间: 2023-8-17 19:49

回复  yyz219
yakeyun 发表于 2023-8-17 13:57

获取磁盘分区信息:

请按任意键继续. . .
作者: Batcher    时间: 2023-8-17 20:35

回复 5# yyz219


    什么操作系统?把代码里面的@echo off&删掉再执行一次截图发出来看看
作者: 77七    时间: 2023-8-17 21:03

本帖最后由 77七 于 2023-8-17 21:22 编辑
dir 就可以看到,最后一行
czjt1234 发表于 2023-8-17 11:50



  
  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. for /f "tokens=3" %%a in ('dir c:\ /-c ^|find "可用字节"') do (
  4.         powershell -c "%%a/1024/1024/1024"
  5. )
  6. pause
复制代码
如果powershell也用不了,并且要求不精确
  1. @echo off
  2. for /f "tokens=3" %%a in ('dir c:\ /-c ^|find "可用字节"') do (
  3. set n=%%a
  4. )
  5. set /a m=%n:~0,-3%/1024/1024
  6. echo %m%
  7. pause
复制代码

作者: jszw666    时间: 2023-8-18 00:17

开眼界了,又知道了一个新知识。只是 知道,不是 会
作者: yyz219    时间: 2023-8-18 06:50

回复  yyz219


    什么操作系统?把代码里面的@echo off&删掉再执行一次截图发出来看看
Batcher 发表于 2023-8-17 20:35


PE-windows10下
作者: yyz219    时间: 2023-8-18 06:58

如果powershell也用不了,并且要求不精确
77七 发表于 2023-8-17 21:03



    如果powershell也用不了,并且要求不精确
@echo off
for /f "tokens=3" %%a in ('dir c:\ /-c ^|find "可用字节"') do (
        set n=%%a
)
set /a m=%n:~0,-3%/1024/1024
echo %m%
pause
复制代码———————————查到的是C盘大小‘我希望查剩余空间
作者: Batcher    时间: 2023-8-18 08:42

回复 9# yyz219


    建议在顶楼注明是PE-Win10,很多在普通系统里面的脚本在PE里面是无法使用的。




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