title: If GTR/LSS Operators in Batch
body: <p>I have an increasingly large Batch file that uses <code>GTR</code>/<code>LSS</code> operators. The problem is that the <code>if</code> statements only permit me to enter certain values. In the following exemplar, typing in values of 2, 3 or 4 will return "Value too high."</p>
  
  <pre><code>:char_intb
  set char_points=30
  set /a limit=!char_points!-3
  set /p char_int="How many points for intelligence? "
  if "!char_int!" GTR "!limit!" echo Value too high. &amp;&amp; goto char_intb
  if "!char_int!" GTR "!char_points!" echo Insufficient points. &amp;&amp; goto char_intb
  if "!char_int!" LSS "1" echo Select a value greater than or equal to 1. &amp;&amp; goto char_intb
  set /a char_points=!char_points!-!char_int!
  echo You now have !char_points! remaining.
  </code></pre>
  
  <p>There are others. As far as I've tested, it seems to only allow me to type 0 or 11. </p>
  
  <pre><code>set /p char_month="Month (0-11): "
  if "!char_month!" GTR "11" echo Enter a value between 0 and 11. &amp;&amp; echo. &amp;&amp; goto last_char
  </code></pre>
  
  <p>Where am I going wrong?</p>