我做了很多研究,似乎在BAT文件中乘以%百分比似乎是不可能的?
我试图完成的是要求用户输入一个数字(我们称之为a),例如
然后将这个数字乘以一个设定的百分比数字,然后在总数上加上。41之类的东西
所以简单的数学方程是a*xx%+。41 = ? ?
但是我还没有找到一种方法在BAT文件中做到这一点…
有人知道吗?有什么想法吗?谢谢你的时间和帮助解决这个问题?
我试着在谷歌等寻找答案,并在BAT中做简单的数学,但它不起作用:(
UPDATE (******)
好了,经过一些进一步的研究,我已经掌握了基本知识,但我现在想做的是能够将变量保存到一个文本文件测试,看看文件是否存在,如果它确实询问当前值是否正确,如果不是,然后给出更改它们的选项(如果文件不存在,也一样)
这是我目前看到的
@echo off
set /P x="Percentage:"
set /P y="Price:"
set /P Z="Fixed Rate:"
cscript //nologo calculate.vbs %x% %y% %z% > results.txt
set /P charge= < results.txt
pause
del results.txt
echo charge Fee Total: %charge%
cscript //nologo calculate2.vbs %y% %charge% > results2.txt
set /P total= < results2.txt
pause
del results2.txt
echo sale total amount: %total%
pause
从你的评论中我了解到,你的计算应该是((%x% / 100^)*%y% + %Z%
,如果不是,请随意更改它们:
@echo off
if not exist "calculations.txt" call :setVars
if exist "calculations.txt" for /f "usebackq delims=" %%i in ("calculations.txt") do set "%%i"
echo fixed rate = %Z%
echo Percentage = %x%
choice /c CR /M "Continue or re-set?"
if errorlevel 2 call :setVars
for /f "usebackq delims=" %%i in ("calculations.txt") do set "%%i"
set /P "y=Price: "
for /F "delims=" %%i in ('powershell ((%x% / 100^)*%y% + %z%^)') do echo %%i
goto :EOF
:setVars
set /P "x=Percentage: "
set /P "Z=Fixed Rate: "x
(echo x=%x%
echo z=%z%
)>"calculations.txt"
初始运行将检测到calculations.txt
不存在,并请求其值。然后它将它们传递给文件,下次运行时,文件被找到,它将只请求价格,而不是固定汇率或百分比。
此外,要查看calculations.txt
中的内容,只需在goto :EOF
echo %x% %z%
行。