如何连接批处理文件的命令行参数?

时间:2016-08-19 22:32:26

标签: batch-file command-line arguments

我目前正在尝试将命令行参数连接到此:

for %%a in (%*) do set "subject=%subject% %%a"

因此,例如,如果我运行

my.bat subject line here

它应该将我的主题变量设置为“主题行在这里”,保留空格。但是,目前在运行之后,我的主题变量被设置为最后一个单词。我得到一个主题值“这里。”

如何连接命令行参数吧?

1 个答案:

答案 0 :(得分:3)

你不能这样做:

SET subject=%*

或者启用延迟扩展,以便在解析期间不会替换环境变量。

Setlocal EnableDelayedExpansion
for %%a in (%*) do set subject=!subject! %%a
echo %subject%

请参阅Difference between %variable% and !variable! in batch file了解详情。