如果两个数字大于 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
命令对填充的字符串进行排序。