CMD imbriqués les guillemets doubles argument

Je vais avoir des problèmes avec le passage d'arguments à un lot en fonction imbriquée avec des guillemets.

Voici un exemple de fichier de commandes:

@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 sortie est:

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

Que dois-je faire pour faire arg 2: blaat2 "c:\test\filenamewith space.txt"?
Notez que je ne peut pas régler la fonction ou de modifier le %path_with_space%. Je ne peut contrôler que ce qui est passé à la fonction.

OriginalL'auteur Davor Josipovic | 2012-09-23