2017-08-08 3 views
3

私はmy previous questionに似たバッチファイルを持っているが、スクリプトをもっと混乱させると、そのスクリプトの負荷変数は整数ではなく文字列であることに気付く。CMDは、8が65よりも大きいと思う。

set load=8 if "%load%" geq "65" (echo larger) else (echo lesser) を実行すると、出力はlargerになります。

This問題を修正しませんでした。

私はset /a loadif "%load%" gtr "65"を実行しようとしましたが、いずれも問題を解決していません。

+0

:にあなたのコードを変更し 。 – Compo

答えて

6

""引用符を使用すると、文字列を比較することになります(実際にはGEQと意味をなさない)。 =設定負荷 `の後の行を分割`& `&if`この` "= 8ロード" などと連結することによって8`または多分を試してみてください

if %load% geq 65 (echo larger) else (echo lesser) 
+0

ああ...うわー、私が気まずい気分になる。迅速な答えをありがとう。 – jangles

+1

カッコを使用するのは、コードがカッコで囲まれたブロックに置かれるとすぐに問題に遭遇するので、非常に悪い考えです。 – aschipfl

+0

@aschipfl私は分かりません。 – clabe45

関連する問題