Batch file 批处理文件-如何显示变量的前序?

Batch file 批处理文件-如何显示变量的前序?,batch-file,math,Batch File,Math,我有一个批处理文件,它必须能够显示百分比。不幸的是,我不知道如何做到这一点 该文件获取从0到29的单个点的范围,并在用户从未看到的背景过程中从该范围中添加或减去点。我想要显示该范围的当前百分比。即如果有29个点,文件显示“100%”,如果有22个点,文件显示“75%”,ectra 从数学上讲,运算应为(x/29)*100。我已将此操作编码为: set /a math="%shields%" / "%scap%" set /a sm="%math%" * 100 但是我的代码不起作用。sm是百分

我有一个批处理文件,它必须能够显示百分比。不幸的是,我不知道如何做到这一点

该文件获取从0到29的单个点的范围,并在用户从未看到的背景过程中从该范围中添加或减去点。我想要显示该范围的当前百分比。即如果有29个点,文件显示“100%”,如果有22个点,文件显示“75%”,ectra

从数学上讲,运算应为(x/29)*100。我已将此操作编码为:

set /a math="%shields%" / "%scap%"
set /a sm="%math%" * 100
但是我的代码不起作用。sm是百分比的变量,shields是当前的0-29点值,scap是shields可以达到的最大值(通常为29,但在某些情况下可以调整)


请帮我拿一下好吗?这很令人困惑。

bat中的Matematic操作不接受浮点值,如果:
22/29
在bat中,您将得到0和
0*100=0

所以你必须做
(x*100)/29

@echo off
set $val=22
set /a $percent=(%$val%*100)/29
echo %$percent% %%

做整数运算时,先乘法,然后再除法。