I'm trying to figure how to return multiple variables, in a rather dynamic fashion where I just maintain a list of variable names and then do the `ENDLOCAL` "export" with a loop, but it seems the `!%%V!` expansion in the inner FOR loop isn't expanding soon enough or so.

Is there something I'm missing or is there another way to accomplish this?

Example code:

```
SETLOCAL EnableExtensions EnableDelayedExpansion
[...]
SET "RETURN=FOO BAR"
[...]
SET "RETURN=%RETURN% BAZ"
[...]

:END

:: "Export" %FOO%, %BAR%, and %BAZ% to calling context.
ENDLOCAL & (
   FOR %%N IN (%RETURN%) DO (
      FOR /f %%V in ("%%N") DO SET %%N=!%%V!
   )
)

   EXIT /B

```

Thank you for any help.