CMD anidado comillas dobles en el argumento

Tengo problemas para pasar argumentos a una función de lote con comillas dobles anidadas.

Aquí hay un ejemplo de un archivo por lotes:

@SET path_with_space="c:\test\filenamewith space.txt"
@CALL :FUNCTION blaat1, "blaat2 %path_with_space%"
@GOTO :EOF

:FUNCTION
@echo off
echo arg 1: %~1
echo arg 2: %~2
echo arg 3: %~3
GOTO :EOF

La salida es:

arg 1: blaat1
arg 2: blaat2 "c:\test\filenamewith
arg 3: space.txt""

¿Qué debo hacer para hacerarg 2: blaat2 "c:\test\filenamewith space.txt"? Tenga en cuenta que no puedo ajustar la función o cambiar la%path_with_space%. Solo puedo controlar lo que se pasa a la función.

Respuestas a la pregunta(5)

Su respuesta a la pregunta