找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29|回复: 0

[数值计算] 计算机单位换算脚本.BAT

[复制链接]
发表于 2 小时前 | 显示全部楼层 |阅读模式

--------------------------------计算机单位换算脚本.BAT-----------扔代码-------
  1. @Echo off
  2. Rem;;;;;;下句 +1 是为了防止 %b% = 0
  3. Set/a b=%Random% %% 9 + 1
  4. :Run
  5. Set/a a+=1
  6. Set s=%s%%Random%
  7. If Not %a% equ %b% Goto,Run
  8. Rem;;;;;; 下句 %s% 是转换值,可以用其他变量或数值取代,上面几句是编写临时测试脚本用的,可以扔了。。
  9. Echo.i="%s%" >$
  10. Echo.If i^<1024 Then  >>$
  11. Echo.l=i^&" Byte" >>$
  12. Echo.ElseIf i^<1048576 Then l=Round(i/1024,2)^&" KB" >>$
  13. Echo.ElseIf i^<1073741824 Then l=Round(i/1048576,2)^&" MB" >>$
  14. Echo.Elseif i^<1099511627776 Then l=Round(i/1073741824,2)^&" GB" >>$
  15. Echo.Elseif i^<1125899906842624 Then l=Round(i/1099511627776,2)^&" TB" >>$
  16. Echo.Elseif i^<1152921504606846976 Then l=Round(i/1125899906842624,2)^&" PB" >>$
  17. Echo.Elseif i^<1180591620717411303424 Then l=Round(i/1152921504606846976,2)^&" EB" >>$
  18. Echo.Elseif i^<1208925819614629174706176 Then l=Round(i/1180591620717411303424,2)^&" ZB" >>$
  19. Echo.Elseif i^<1237940039285380274899124224 Then l=Round(i/1208925819614629174706176,2)^&" YB" >>$
  20. Echo.Elseif i^<1267650600228229401496703205376 Then l=Round(i/1237940039285380274899124224,2)^&" BB" >>$
  21. Echo.Elseif i^<1298074214633706907132624082305024 Then l=Round(i/1267650600228229401496703205376,2)^&" NB" >>$
  22. Echo.Elseif i^<1329227995784915872903807060280344576 Then l=Round(i/1298074214633706907132624082305024,2)^&" DB" >>$
  23. Echo.Elseif i^<1361129467683753853853498429727072845824 Then l=Round(i/1329227995784915872903807060280344576,2)^&" CB" >>$
  24. Echo.Else l=Round(i/1361129467683753853853498429727072845824,2)^&" XB" >>$
  25. Echo.End If >>$
  26. Echo.Wscript.Echo l >>$
  27. Rem;;;;;;如果单纯的求换算可以把以下生成的代码删了,保留自删那行就可以了
  28. Echo.BE=i^&" Byte" >>$
  29. Echo.KB=Round(i/1024,2)^&" KB" >>$
  30. Echo.MB=Round(i/1048576,2)^&" MB" >>$
  31. Echo.GB=Round(i/1073741824,2)^&" GB" >>$
  32. Echo.TB=Round(i/1099511627776,2)^&" TB" >>$
  33. Echo.PB=Round(i/1125899906842624,2)^&" PB" >>$
  34. Echo.EB=Round(i/1152921504606846976,2)^&" EB" >>$
  35. Echo.ZB=Round(i/1180591620717411303424,2)^&" ZB" >>$
  36. Echo.YB=Round(i/1208925819614629174706176,2)^&" YB" >>$
  37. Echo.BB=Round(i/1237940039285380274899124224,2)^&" BB" >>$
  38. Echo.NB=Round(i/1267650600228229401496703205376,2)^&" NB" >>$
  39. Echo.DB=Round(i/1298074214633706907132624082305024,2)^&" DB" >>$
  40. Echo.CB=Round(i/1329227995784915872903807060280344576,2)^&" CB" >>$
  41. Echo.XB=Round(i/1361129467683753853853498429727072845824,2)^&" XB" >>$
  42. Echo.Wscript.Echo "=====================" ^& chr(10) ^& l ^& chr(10) ^& "---------------------" ^& chr(10) ^& BE ^& chr(10) ^& KB ^& chr(10) ^& MB ^& chr(10) ^& GB ^& chr(10) ^& TB ^& chr(10) ^& PB ^& chr(10) ^& EB ^& chr(10) ^& ZB ^& chr(10) ^& YB ^& chr(10) ^& BB ^& chr(10) ^& NB ^& chr(10) ^& DB ^& chr(10) ^& CB ^& chr(10) ^& XB ^&  chr(10) ^& "=====================" >>$
  43. Rem;;;;;;下句是VBS 自删语句,不建议删除
  44. Echo.CreateObject("Scripting.Filesystemobject").DeleteFile(Wscript.ScriptFullName)>>$
  45. Rem;;;;;;下句是脚本该脚本调用显示,完整获取 可以用 FOR Cscript -e:vbs -nologo $ 获取转换值和单位,,
  46. Start/Max "随机生成计算机单位" Cmd /t:e0 /k Echo.随机数【%s%】,循环 %b% 次!^& Cscript -e:vbs -nologo $ ^& Pause^>Nul ^& Exit & Exit
复制代码

------------------------------存ANSI 编码---------名 XXXXXX.BAT  -------

朋友写脚本问我,怎么把获取到的文件大小 Size 准确的换成合适的单位来表达,保留小数点后两位
原本我是叫他去找A1的,不过那家伙功底好像有点低,而且比我还懒,,
帮他找里几个A1答复,感觉不是很满意,,
那叼毛,想找的就是全单位转换,Byte,KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB、CB,XB
BAT 下不可转换,可以借助 VBS 来转换,,于是编写了该脚本,,,
编写的时候,计算的位数高达 40 位,1361129467683753853853498429727072845824

普通市面上的计算器 根本无法精确计算,,

找了很多计算器,要么不支持,要么挂羊头卖狗肉,,要么要登录下载,要么过期,
找了几款在线 大整数计算器 ,广告还特别的多,,

于是于昨天,一气之下 , 抽取了其中一款在线计算器的部分核心计算源码,,
借助 A1 改写了一款  “大整数计算器 — 超大整数运算与进制转换”,的计算器,
https://www.bathome.net/thread-95286-1-1.html
支持 10万位整数计算表达,,,算是意外所得,,
,人啊,不能吃太饱,闲得慌!,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-10-2 10:17

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表