[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 不支持32位以上的字符,批处理计算磁盘空间怎样以GB为单位?

  1. @echo off
  2. rem write to log
  3. set filename=磁盘空间日志.log
  4. echo -------------------这是一条没有感情的分割线------------------------- >>%filename%
  5. echo Start >>%filename%
  6. echo (%date% %time%) >>%filename%
  7. net use O: \192.168.0.127\127d Kovn2020 /user:administrator
  8. net use P: \192.168.0.128\128d Kovn2020 /user:administrator
  9. net use Q: \192.168.0.130\130d Kovn2020 /user:administrator
  10. setlocal enabledelayedexpansion
  11. :Main
  12. cls
  13. set /a num2=1024*1024
  14. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  15. if exist %%i: (
  16. set num3_str=
  17. set num4=
  18. for /f "tokens=3" %%j in ('dir /-c %%i:') do set num1=%%j
  19. if not "!num1!"=="0" (
  20. call :loop
  21. for /f "delims=0 tokens=" %%k in ("!num3_str!") do set num3_str=%%k
  22. echo.
  23. echo %%i 盘剩余空间为 !num3_str! MB
  24. echo %%i !num3_str! MB >>%filename%
  25. echo.
  26. )
  27. )
  28. )
  29. )
  30. net use O: /delete /y
  31. net use P: /delete /y
  32. net use Q: /delete /y
  33. pause
  34. goto Main
  35. :loop
  36. :: 求商
  37. set /a num3=%num4%%num1:~0,1%/%num2%
  38. :: 求商序列
  39. set num3_str=%num3_str%%num3%
  40. :: 求余
  41. set /a num4=%num4%%num1:~0,1%%%%num2%
  42. if %num4% equ 0 set num4=
  43. set num1=%num1:~1%
  44. if not "%num1%"=="" goto loop
  45. goto :eof
  46. echo End >>%filename%
  47. echo (%date% %time%) >>%filename%
复制代码
怎么才能使导出的文件单位是G呢? 不支持32位以上的字符,能不能曲线救国?通过其他办法解决一下

返回列表