如何将空白作为参数传递给批处理文件

iAm*_*ing 4 batch-file

我需要将空白(""或"")作为参数传递给批处理文件.

我必须将运行时值传递给url.我的网址是:

start iexplore http://example.com?emailAddress=%1&name=%2&phone=%3&dateofbirth=%4&hobby=%5&address=%6
Run Code Online (Sandbox Code Playgroud)

如果所有参数都具有某些值,则一切正常,但如果任何参数的值为""或"",即空白,则下一个非空白值为赋值,序列无序.

请帮忙 !

Mag*_*goo 6

使用%~x而不是%x(其中x是您的参数编号)

因此,这将从参数中删除任何封闭的引号

echo parameter3=%~3
Run Code Online (Sandbox Code Playgroud)

会表现出来 parameter3=

如果你打电话给这个 yourbatch one two "" four

如果你传递"space" as a parameter then this will show a space as%~3"(这有点难以看到 - 尝试附加一个明显的字符串)

在任何一种情况下,如果您使用,%x那么您将显示封闭的引号 - ""或者" "取决于您在该位置传递的内容.你可能不想在那里引用...