我目前正在尝试将命令行参数连接到此:
for %%a in (%*) do set "subject=%subject% %%a"
因此,例如,如果我运行
my.bat subject line here
它应该将我的主题变量设置为“主题行在这里”,保留空格。但是,目前在运行之后,我的主题变量被设置为最后一个单词。我得到一个主题值“这里。”
如何连接命令行参数吧?
答案 0 :(得分:3)
你不能这样做:
SET subject=%*
或者启用延迟扩展,以便在解析期间不会替换环境变量。
Setlocal EnableDelayedExpansion
for %%a in (%*) do set subject=!subject! %%a
echo %subject%
请参阅Difference between %variable% and !variable! in batch file了解详情。