質問

CMD バッチを開発しています。そこで計算をしてみたいと思います。この式は次のようになります。 (x+1)100:y

したがって、バッチでは、 x = %x%, and y = %y%. 。変数の設定方法は知っています。では、これをバッチでどのように計算できるでしょうか?(Windows CMD)

何か追加のものが必要ですか?

(これを Windows XP ~ 7 のユーザーが利用できるようにする必要があります。)

役に立ちましたか?

解決

setコマンドは、一部の限られた計算をサポートしています。あなたのケースでは、あなたがしたいです: set /a result=(100*x)/y

ファイル名を指定して実行がサポートされているものに完全なマニュアルを参照してくださいset /?。あなたの代わりに/axを使用できるように%x%スイッチは、自動変数置換を行います。

他のヒント

@echo off

set x=42
set y=5

set /a z = 100 * x / y

echo %z%

set /aコマンドを使用して、変数への数式の結果を割り当てることができます(その時、これらの式中の変数名の周り%年代は必要ありません)。サポートされる演算子と詳細のリストについてset /?を参照してください。

式の結果が分数である場合、整数部のみがカウントされるように、Windowsバッチファイルは、浮動小数点演算をサポートしていないことに留意されたいです。例えば、 3/2 の評価として 1 2/3 として 0

バッチで数学をしないでください。あなたはパーセンテージを行っている場合は、小数点以下を持っている可能性があり、バッチは、小数点以下をサポートしていません。(フローティング)。 VBScriptまたはより良いものを使用します。

caculate.vbsとして以下の保存

Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
x = objArgs(0)
y = objArgs(1)
WScript.Echo ( x + 1 ) * 100  / y

とコマンドラインで

c:\test> cscript //nologo calculate.vbs 4 5
  • set /a (任意の算術)
  • set /a 2+2 追加する
  • set /a 2-2 引き算
  • set /a 2*2 乗算する
  • set /a 2/2 分裂する
  • set /a 2^2 指数

ブラケットと括弧を使用して、Exの方程式の特性を表示します。 2(2+2)=8 分配性を示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top