Comparação de números na linha de comando do Windows

0

Como comparar dois números se eles são maiores que 32 bits inteiros em um sistema de 32 bits? Os dois números são o tamanho das pastas em bytes. Alguém pode me ajudar por favor?

    
por Sachin 11.10.2012 / 17:45

1 resposta

1

A ideia de techie007 é realmente utilizável ao usar strings acolchoadas em vez de números:

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

Neste código, você pode comparar dois números com até 15 dígitos:

  • numX mantém as cadeias de números
  • tmpX mantém as seqüências numéricas prefixadas com 15 espaços
  • padX contém os últimos 15 caracteres entre aspas - > strings numéricas acolchoadas, agora prontas para comparação!

É melhor colocar isso em uma sub-rotina se precisar comparar mais números, ou se aplicável, classificar as strings preenchidas por meio do comando sort disponível.

    
por 22.10.2012 / 01:00