CMD バッチを開発しています。私はそれでいくつかの数学をしたいです。この式:(x+1)100:y
したがって、バッチでは、x = %x%, and y = %y%
. 変数を設定する方法を知っています。では、これをバッチ計算するにはどうすればよいでしょうか。(Windows CMD)
追加のものが必要ですか?
(Windows XP から 7 のユーザーがこれを利用できるようにする必要があります。)
CMD バッチを開発しています。私はそれでいくつかの数学をしたいです。この式:(x+1)100:y
したがって、バッチでは、x = %x%, and y = %y%
. 変数を設定する方法を知っています。では、これをバッチ計算するにはどうすればよいでしょうか。(Windows CMD)
追加のものが必要ですか?
(Windows XP から 7 のユーザーがこれを利用できるようにする必要があります。)
set コマンドは、いくつかの限定された計算をサポートしています。あなたの場合、あなたは欲しい:
set /a result=(100*x)/y
実行set /?
して、サポートされている内容に関する完全なドキュメントを参照してください。スイッチは変数の自動置換を行うため、の代わりに/a
使用できます。x
%x%
@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 /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
分配性を示します。