batch file - Numeric comparison CMD issue -


the if statement here not work.why? mean sid ends 502 , enters first condition 502 greater 1000. -update : seems length problem.the number of digits must equal on both sides of comparison.how force them equal length ?

 @echo off     echo programa de usuarios     /f "skip=1" %%a in ('wmic useraccount name') (         if %%a gtr 0 (             /f "tokens=8 delims=-" %%b in ('wmic useraccount name^="%%a" sid') (                 echo user accounts:                 if %%b geq 1000 (                     echo name                     echo %%a                     wmic useraccount name^="%%a" sid                     echo %%b                 )             )         )     )     /f "skip=1" %%a in ('wmic useraccount name') (         if %%a gtr 0 (             /f "tokens=8 delims=-" %%b in ('wmic useraccount name^="%%a" sid') (                 echo system accounts:                 if %%b lss 1000 (                     echo name                     echo %%a                     wmic useraccount name^="%%a" sid                     echo %%b                 )             )         )     ) 

its because of string comparison. need set variable number set /a

 /f "tokens=8 delims=-" %%b in ('echo s-1-5-21-2685429265-1343094091-1357998488-3175') (set /a num=%%b)  if %num% lss 1000 (echo less) 

Comments

Popular posts from this blog

java - UnknownEntityTypeException: Unable to locate persister (Hibernate 5.0) -

python - ValueError: empty vocabulary; perhaps the documents only contain stop words -

ubuntu - collect2: fatal error: ld terminated with signal 9 [Killed] -