Batch file 批处理文件命令行参数

Batch file 批处理文件命令行参数,batch-file,Batch File,参数上的“=”符号似乎将该参数拆分为两个。例如,如果我有一个批处理文件a.bat: echo %1 echo %2 并使用以下命令调用它: a 1=2 其结果是: 1 2 鉴于我希望它能给出: 第一个参数为1=2 如果我在“1=2”周围加上引号,它会工作,但它会将引号保留在%1中 知道如何将1=2放入%1吗?要从参数中删除周围的引号,请包含一个~ echo %~1 这个参数没有引号:参数1是1=2,我想把它放进%1是的,如果你把“1=2”放在引号里,它会起作用。然后,~将删除引号,这样%

参数上的“=”符号似乎将该参数拆分为两个。例如,如果我有一个批处理文件a.bat:

echo %1
echo %2
并使用以下命令调用它:

a 1=2
其结果是:

1
2
鉴于我希望它能给出:

第一个参数为1=2

如果我在“1=2”周围加上引号,它会工作,但它会将引号保留在%1中


知道如何将1=2放入%1吗?

要从参数中删除周围的引号,请包含一个
~

echo %~1

这个参数没有引号:参数1是1=2,我想把它放进%1是的,如果你把“1=2”放在引号里,它会起作用。然后,
~
将删除引号,这样
%1
将保留值
1=2
,而不是
“1=2”
。不,您没有抓住要点,用户不会用引号调用批处理文件,用户将用1=2调用它。我在批处理文件中的工作是正确解释它。使用
%*
而不是
%1
@Arthur它是有文档记录的,只需阅读
call/?
,或者我的一半注释消失在下面,为什么?因为它们是对现已删除的答案的注释。