[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
变量替换就行了,只是只支持20MB以下:
  1. @echo off
  2. set size=1024M
  3. set K=%size:M=*1024K%
  4. set /a B=%K:K=*1024%
  5. echo %B%
  6. pause
复制代码

笔误已修正

[ 本帖最后由 zm900612 于 2011-2-14 01:53 编辑 ]

TOP

或者这样,计算范围会大很多,最大支持909T的简单计算(不支持5T100G2M1K这种输入):
  1. @echo off
  2. set size=909T
  3. set G=%size:T=*1024G%
  4. set M=%G:G=*1024M%
  5. set K=%M:M=*1024K%
  6. set B=%K:K=*1024%
  7. mshta vbscript:msgbox("%size%="^&eval("%B%")^&"字节")(window.close)
  8. pause
复制代码

TOP

非要输出在cmd里以便复制也可以(话说复制到剪贴板不是更方便):
  1. @echo off
  2. set size=909T
  3. set G=%size:T=*1024G%
  4. set M=%G:G=*1024M%
  5. set K=%M:M=*1024K%
  6. set B=%K:K=*1024%
  7. %1 mshta vbscript:createobject("wscript.shell").run("%~s0 ::"^&"%size%="^&eval("%B%")^&"字节")(window.close)&&exit
  8. echo;%2
  9. pause
复制代码

TOP

那也好办...
  1. @echo off
  2. set size=909T
  3. set G=%size:T=*1024G%
  4. set M=%G:G=*1024M%
  5. set K=%M:M=*1024K%
  6. set B=%K:K=*1024%
  7. mshta vbscript:createobject("wscript.shell").run("xxxx.exe -b "^&"%size%="^&eval("%B%")^&"字节")(window.close)
复制代码

TOP

同感,计算的事情实在不是bat长项

TOP

返回列表