Batch file 批处理文件命令行参数
参数上的“=”符号似乎将该参数拆分为两个。例如,如果我有一个批处理文件a.bat: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”放在引号里,它会起作用。然后,~将删除引号,这样%
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/?
,或者我的一半注释消失在下面,为什么?因为它们是对现已删除的答案的注释。