@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
)
FOR /L %%a IN (1,1,%jahre%) DO set /a anfangskapital = !anfangskapital! *(1+(%zinssatz%/100))
echo %anfangskapital%
:ende
pause
anfangskapital
的值始终相同,不会在for
循环中更改其值。我不知道为什么。我尝试使用%%
和!!
,但它没有改变任何内容。
如何更改anfanskapital
的价值?
答案 0 :(得分:0)
了解延迟扩张。
setlocal enabledelayedexpansion
set /a endkap=%anfangskapital%
FOR /L %%a IN (1,1,%jahre%) DO set /a endkap=!endkap! *(1+(%zinssatz%/100))
echo %endkap% REM 1000