不要对带有空格的字符串使用额外的双引号。该参数%~
删除字符串周围的所有双引号对:
@echo off &setlocal
set "Variable="my var""
echo Variable: %Variable%
call :concat %Variable%
goto :eof
:concat
echo concat %%1: %1
set "NewVar=%~1"
echo concat NewVar: %newvar%
goto :eof
endlocal
输出是:
Variable: "my var"
concat %1: "my var"
concat NewVar: my var
如果您在字符串周围加上额外的双引号,则会发生以下情况:
@echo off &setlocal
set "Variable="my var""
echo Variable: %Variable%
call :concat "%Variable%"
goto :eof
:concat
echo concat %%1: %1
set "NewVar=%~1"
echo concat NewVar: %newvar%
goto :eof
endlocal
输出损坏:
Variable: "my var"
concat %1: ""my
concat NewVar: "my