Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何将带引号的字符串和其他值作为单个参数传递给另一个函数_Windows_Batch File_Variables_Cmd_Quotes - Fatal编程技术网

Windows 如何将带引号的字符串和其他值作为单个参数传递给另一个函数

Windows 如何将带引号的字符串和其他值作为单个参数传递给另一个函数,windows,batch-file,variables,cmd,quotes,Windows,Batch File,Variables,Cmd,Quotes,如果一个变量的值既可以是要素空间,也可以不是此变量: 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 当遇到类似问题时,我曾经引用参数,但这种方法不再有效,因为参数本身已经

如果一个变量的值既可以是要素空间,也可以不是此变量:

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

当遇到类似问题时,我曾经引用参数,但这种方法不再有效,因为参数本身已经包含引号。

将变量名称作为引用传递,而不是变量内容

@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

将变量名作为引用而不是变量内容传递

@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

将变量名作为引用而不是变量的内容传递。将变量名作为引用而不是变量的内容传递。