Windows 命令行中的数字比较

Windows 命令行中的数字比较

如果两个数字大于 32 位整数,如何在 32 位系统的 DOS 中比较它们?这两个数字是文件夹的大小(以字节为单位)。有人能帮我吗?

答案1

techie007 的想法确实有用使用填充字符串时而不是数字:

set num1=666123456789
set num2=123450123456789
set "tmp1=               %num1%"
set "tmp2=               %num2%"
set pad1="%tmp1:~-15%"
set pad2="%tmp2:~-15%"
if %pad1% gtr %pad2% …

在此代码中,您可以比较两个最多 15 位数字:

  • numX保存数字串
  • tmpX保存以 15 个空格为前缀的数字字符串
  • padX将最后 15 个字符放在引号中 —> 填充的数字字符串,现在可以进行比较!

如果您需要比较更多数字,最好将其放入子程序中,或者如果适用,通过可用sort命令对填充的字符串进行排序。

相关内容