2016-10-11 1 views
0

Если есть переменная, значение которой может нравится как функция пространства или это не один:Как передать строку в кавычках, плюс другие значения одного параметра другой функции

set myvar=value1 "my value 2" value3 

Как я могу обеспечить этот параметр другая функция как целостный параметр без его разбиения на другие параметры.

CALL: MYFUNC other.param1 myvar other.param2 

:MYFUNC 
set other.param1=%1 
set myvar=%2  
set other.param1=%3 

Когда они сталкиваются с подобными проблемами я процитировать параметр, но этот подход больше не работает, потому что сам параметр уже есть кавычки внутри.

+2

Передайте имя переменной как ссылку вместо содержимого переменной. – Squashman

ответ

2

Передайте имя переменной как ссылку вместо содержимого переменной.

@ECHO OFF 
SET myvar=value1 "my value 2" value3 
CALL :MYFUNC other.param1 myvar other.param2 
GOTO :EOF 

:MYFUNC 
setlocal enabledelayedexpansion 
set other.param1=%1 
set myfuncvar=!%2!  
set other.param3=%3 
echo %other.param1% 
echo %myfuncvar% 
echo %other.param3% 
endlocal 
pause 
Смежные вопросы