18

CMD バッチを開発しています。私はそれでいくつかの数学をしたいです。この式:(x+1)100:y

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

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

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

4

4 に答える 4

35

set コマンドは、いくつかの限定された計算をサポートしています。あなたの場合、あなたは欲しい: set /a result=(100*x)/y

実行set /?して、サポートされている内容に関する完全なドキュメントを参照してください。スイッチは変数の自動置換を行うため、の代わりに/a使用できます。x%x%

于 2009-12-08T19:14:26.197 に答える
11
@echo off

set x=42
set y=5

set /a z = 100 * x / y

echo %z%

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

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

于 2009-12-08T19:18:41.180 に答える
3

バッチで数学をしないでください。パーセンテージを実行している場合、小数がある可能性があり、バッチは小数をサポートしていません(浮動小数点)。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
于 2009-12-09T01:33:29.090 に答える
2
  • 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分配性を示します。

于 2011-03-03T21:17:59.313 に答える