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/forum/rueckgabewert-aus-funktion-bei-jedem-schleifendurchlauf-addieren-2044218432.html

Ausgedruckt am: 08.04.2025 um 11:04 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.