Math 批量数学(win)

Math 批量数学(win),math,windows-7,batch-file,cmd,formula,Math,Windows 7,Batch File,Cmd,Formula,我正在开发一个CMD批。我想做一些数学。此公式:(x+1)100:y 因此,在批处理中,x=%x%和y=%y%。我知道如何设置变量。现在,批量如何计算?(WINDOWS CMD) 我需要额外的东西吗 (我需要Windows XP到7的用户可以使用此命令。)set命令支持一些有限的计算。在您的情况下,您需要: set/a结果=(100*x)/y 运行set/?查看有关支持内容的完整文档。/a开关执行自动变量替换,因此您可以使用x而不是%x% @echo off set x=42 set y=5

我正在开发一个CMD批。我想做一些数学。此公式:
(x+1)100:y

因此,在批处理中,
x=%x%和y=%y%
。我知道如何设置变量。现在,批量如何计算?(WINDOWS CMD)

我需要额外的东西吗


(我需要Windows XP到7的用户可以使用此命令。)

set命令支持一些有限的计算。在您的情况下,您需要:
set/a结果=(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批处理文件不支持浮点运算,因此,如果表达式结果是小数,则只计算整数部分。例如,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
  • 设置/a
    (任意算术)
  • set/a2+2
    添加
  • set/a 2-2
    减法
  • set/a 2*2
    相乘
  • 设置/a 2/2
    偏差
  • set/a2^2
    exponet
使用括号和圆括号显示方程式的属性
例如,
2(2+2)=8
显示分配属性。

给定两个批处理文件变量“x”和“y”以及顺便说一句,您想计算出一个百分比;我忘了不是x+1而是y+1。就像(x*100)/(y+1)一样,这些示例需要引号
set/a“2^2”
需要引号(没有引号只有22个),并且
^
是逻辑异或。最后一个是错误,因为它缺少运算符:
2*(2+2)
=
8
^
是异或非指数