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

[系统相关] 【已解决】批处理如何获取指定盘大小的变量?

本帖最后由 807979023 于 2013-4-1 10:55 编辑

比如:
如何获取R盘大小的变量,以m为单位。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

笨办法也是老办法了
  1. @echo off&setlocal enabledelayedexpansion
  2. set Md=1048576&set "name=c:"
  3. for /l %%i in (1 1 9) do set /aNum%%i=MD*%%i&set "Num%%i=0!Num%%i!"
  4. for /f "skip=1" %%a in ('wmic logicaldisk where "name='%name%'" get Size') do (
  5.     set "Size=0%%a00"
  6.         set S=!Size!&set Line=0
  7.         for %%i in (16 8 4 2 1) do if "!s:~%%i!" neq "" set/a Line+=%%i&set "S=!S:~%%i!"
  8.         set "str=!Size:~1,7!"
  9.         if !str! lss !MD! (set i=8)else set i=7&set "str=!Size:~,7!"
  10.         for /l %%i in (1 1 9) do set s=!s:%%i=0!
  11.         for /l %%i in (!i! 1 !Line!) do (
  12.             set "str=!s!!str!!Size:~%%i,1!"
  13.             set "str=!str:~-8!"
  14.             if !str! geq !Num1! (
  15.                set N=1
  16.                for /l %%j in (2 1 9) do if "!str!" geq "!Num%%j!" set "N=%%j"
  17.                set "G_Size=!G_Size!!N!"
  18.                for %%j in (!N!) do set /a "str=3!str!-1!Num%%j!"
  19.                set str=!str:~1!
  20.             ) else set "G_Size=!G_Size!0"
  21.         )
  22.         echo %name% !G_Size:~,-2!.!G_Size:~-2! [M]
  23. )
  24. pause
复制代码

TOP

  1. @echo off
  2. %2 for /f "tokens=2delims==" %%a in ('wmic logicaldisk where "name='C:'" get size/value^|find "="') do set sz=%%a
  3. %2 mshta vbscript:createobject("wscript.shell").run("%~s0 "^&round(%sz%/1024/1024,2)^&" Rem")(window.close)&goto :eof
  4. echo C盘容量为 %1 MB
  5. pause
复制代码
2

评分人数

TOP

wmic LogicalDisk where "Caption='R:'" get FreeSpace,Size /value

以字节为单位

TOP

返回列表