batch file - How to change the value of a variable in a for loop -
@echo off setlocal enabledelayedexpansion if (%1)==(/?) ( echo hilfe zur verwendung des programms: echo.aufruf des programms mit 3 startwerten oder mit keinen startwert. echo.dabei muss jeder startwert eine zahl groesser als 0 sein! goto ende ) if (%1) == () ( echo.anfangskapital eingeben: set /p anfangskapital= ) else ( set /a anfangskapital= %1 ) :checkanfangskapital if %anfangskapital% leq 0 ( echo anfangskapital muss groesser 0 sein. set /p anfangskapital= goto checkanfangskapital ) if (%2) == () ( echo.zinssatz eingeben: set /p zinssatz= ) else ( set /a zinssatz = %2 ) :checkzinsatz if %zinssatz% leq 0 ( echo zinsatz muss groesser 0 sein. set /p zinssatz= goto checkzinsatz ) if (%3) == () ( echo.anzahl jahre eingeben: set /p jahre= ) else ( set /a jahre = %3 ) :checkjahre if %jahre% leq 0 ( echo anzahl jahre muss groesser 0 sein. set /p jahre= goto checkjahre ) /l %%a in (1,1,%jahre%) set /a anfangskapital = !anfangskapital! *(1+(%zinssatz%/100)) echo %anfangskapital% :ende pause
the value of anfangskapital
same, won't change value in for
loop. don't know why. tried %%
, !!
doesn't change anything. how can change value of anfanskapital
?
read on delayed expansion.
setlocal enabledelayedexpansion set /a endkap=%anfangskapital% /l %%a in (1,1,%jahre%) set /a endkap=!endkap! *(1+(%zinssatz%/100)) echo %endkap% rem 1000
Comments
Post a Comment