robx
Goto Top

Rückgabewert aus Funktion bei jedem Schleifendurchlauf addieren

Hallo,

ich erhalte aus der Funktion
Sub dirS

den Rückgabewert
!f!
wie addiere ich bei jedem Schleifendurchlauf diesen Rückgabewert (zu/mit sich selbst)?
SETLOCAL EnableDelayedExpansion
FOR %%i IN (%~1 %~5) do (
  call :dirS %%i "MB" "%LOG%" "f"  
::  call :chknumeric !f!
  set /a "cntr+=1"  
  set /a !f!+=!f!
::  set /a "`!f!`+=!f!" 
  echo. & echo !cntr!: %%i " - " !f!  
)

Danke.

Gruß, Rob

Content-ID: 2044218432

Url: https://administrator.de/contentid/2044218432

Ausgedruckt am: 25.11.2024 um 05:11 Uhr

robx
robx 03.03.2022 um 09:17:32 Uhr
Goto Top
hat vielleicht irgendjemand einen Tip?

Danke.

Gruß, Rob
1915348599
Lösung 1915348599 03.03.2022 aktualisiert um 14:52:43 Uhr
Goto Top
set /a !f!+=!f!
Dir ist schon klar was hier passiert face-big-smile?? Also wenn der Wert 100 ist dann würde die Variable in diesem Fall auch 100 lauten, jetzt klar wo das Brett schief hängt face-wink?

Definiere eine Summenvariable und addiere damit alles ...
@echo off &SETLOCAL EnableDelayedExpansion
set sum=0
FOR %%i IN (%~1 %~5) do (
  call :dirS %%i "MB" "%LOG%" "f"  
  set /a sum+=!f!
)
echo %sum%

Kaffee spendier ... ☕

Ahoi.
robx
robx 03.03.2022 um 16:04:28 Uhr
Goto Top
Danke!
(Brett vorm Kopf.)

Kaffee auf dem Weg ... ☕

Ahoi.