function.bat echo变量
set "Var1=%1"
set "Var2=%2"
set "Var3=%3"
echo %Var1% %Var2% %Var3%
我使用一个通过传递3个参数调用此函数的批处理
call function.bat blabla= argument2 TEST.txt
如你所见,我的第一个论点中有一个相同的符号。但我想将它用作字符串而不是运算符。
当我运行批处理时,这是我得到的结果:
blabla
argument2
TEST.txt
这是我想要的结果:
blabla=
argument2
TEST.txt
有没有人知道如何获得“blabla =”?
来自cmd的cmd /?
:
需要引号的特殊字符是:
<space>
&()[]{}^=;!'+,
~`
如您所见,您应该引用几乎包含=
的所有内容,因为它用作分隔符。您应该使用以下命令运行批处理文件:
call function.bat "blabla=" "argument2" "TEST.txt"
在cmd中,然后使用以下代码(~
修饰符)删除每个参数的双引号:
set "Var1=%~1"
set "Var2=%~2"
set "Var3=%~3"
echo %Var1% %Var2% %Var3%
它应该工作。建议采用这种方式进行最佳实践。永远这样做。