2016-10-11 2 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 
관련 문제