As funções podem trabalhar com valores de retorno simplesmente passando nomes de variáveis que irão conter os valores de retorno quando uma chamada é feita para a função como mostrado abaixo
Sintaxe
Call :function_name value1, value2… valuen
Os valores de retorno são definidos na função usando o comando set e o caractere til (~) junto com o número posicional do parâmetro.
O exemplo a seguir mostra como uma função pode ser chamada com valores de retorno.
Exemplo
@echo off
SETLOCAL
CALL :SetValue value1,value2
echo %value1%
echo %value2%
EXIT /B %ERRORLEVEL%
:SetValue
set "%~1 = 5"
set "%~2 = 10"
EXIT /B 0
Resultado
O comando acima produz a seguinte saída.
5
10