Math 批量数学(win)
我正在开发一个CMD批。我想做一些数学。此公式: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
(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
exponetset/a2^2
例如,
2(2+2)=8
显示分配属性。给定两个批处理文件变量“x”和“y”以及顺便说一句,您想计算出一个百分比;我忘了不是x+1而是y+1。就像(x*100)/(y+1)一样,这些示例需要引号set/a“2^2”
需要引号(没有引号只有22个),并且^
是逻辑异或。最后一个是错误,因为它缺少运算符:2*(2+2)
=8
^
是异或非指数