Batch file 使用带引号的参数调用批处理文件

Batch file 使用带引号的参数调用批处理文件,batch-file,Batch File,我有一个批处理文件test.bat,它从命令行获取2个参数 Arg1 - "C:\work Area\" Arg2 - "Hello politics="Hero Jack"" 我有test.bat的电话 test.bat "C:\work Area\" "Hello politics="Hero Jack"" 我希望bat文件将第二个参数设置为Hello politics=“Hero Jack”。我不知道该如何称呼test.bat,因为它的论点是这样的。。 第二个参数类似于“Hello p

我有一个批处理文件test.bat,它从命令行获取2个参数

Arg1 - "C:\work Area\"
Arg2 - "Hello politics="Hero Jack""
我有test.bat的电话

test.bat "C:\work Area\" "Hello politics="Hero Jack""
我希望bat文件将第二个参数设置为
Hello politics=“Hero Jack”
。我不知道该如何称呼test.bat,因为它的论点是这样的。。
第二个参数类似于“Hello politics=“Hero,它丢弃了
Jack”
。你能告诉我我打错了什么吗?

在每个内部引号前使用克拉作为转义符,因此:

test.bat "C:\work Area\" "Hello politics=^"Hero Jack^""
我希望这对你有用


来源:

好的,取2。尝试将整个参数字符串用一对额外的引号括起来:

test.bat ""C:\work Area\" "Hello politics="Hero Jack"""

来源:

在我看来,不可能将其作为一个参数

Arg2 - "Hello politics="Hero Jack""
这是因为参数标记器对插入符号不太感兴趣。 似乎标记器只计算引号

解析器检测插入符号,并可以转义特殊字符,如&>或
test.bat """This is one param"
test.bat ""These are four params"
test.bat ^"This is also one param"
test.bat ^^"This is also one param"
test.bat "C:\work Area\" "Hello politics=""Hero Jack""