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

[数值计算] 如何解决比较两个大的数字出现误判/判断错误/有误的问题?

本帖最后由 pcl_test 于 2017-4-10 13:52 编辑

各位大神,我在脚本中需要比较两个变量值的大小,但是发现使用 gtr 和 lss去比较是存在问题的,比如变量A=134991245312 变量B=2147483648,那么比较的结果是变量A小于变量B。 看起来是按照从左到右的顺序去比较了,是否需要先将变量的值转换成数字类型?不知道能否进行这样的转换,请各位赐教,非常感谢!
  1. cd C:\
  2. C:
  3. set size=2147483648
  4.         for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DeviceID='C:'" get FreeSpace /value') do (
  5.          echo %%a
  6.          echo %size%
  7. if %%a gtr %size% (
  8.                         echo %date%----磁盘空间剩余大于2GB
  9. )else if %%a lss %size% (
  10.                         echo %date%----磁盘空间剩余小于2GB
  11.     ) else (
  12.                         echo %date%----磁盘空间剩余等于2GB
  13.     )
  14.     )
  15. echo %date%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^磁盘空间检查完成
  16. pause
复制代码
1

评分人数

回复 2# gawk

多谢 gawk ,确实是数值范围的问题。 但因为代码取到的剩余磁盘空间的单位是字节,所以数值会很大,请问是否有方法取出MB或GB单位的数据?多谢!

TOP

返回列表