私はCMDバッチを開発しています。私はそれにいくつかの数学をしたいです。この式:(x+1)100:y
したがって、バッチで、x = %x%, and y = %y%
。私は変数を設定する方法を知っています。さて、これをバッチ計算するにはどうすればよいですか? (WINDOWS CMD)
何か特別なものが必要ですか?
(Windowsのユーザーがこれを利用できるようにする必要がありますXP to 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
コマンドを使用すると、数式の結果を変数に割り当てることができます(その場合、これらの式の変数名の周りの%
は必要ありません)。サポートされている演算子と詳細のリストについては、set /?
を参照してください。
Windowsバッチファイルは浮動小数点演算をサポートしていないため、式の結果が小数の場合、整数部分のみがカウントされることに注意してください。たとえば、/2は1として評価され、2/はとして評価されます。
バッチで数学をしないでください。パーセンテージを実行している場合は、小数があり、バッチは小数をサポートしていません(浮動小数点)。 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
_ exponet括弧と括弧を使用して、例の方程式のプロパティを示します。 2(2+2)=8
分配法則を示します。