1

嗨我在变量中设置一个字符串

set main=svn commit -m "构建版本号更新" install\msbuild\VersionNumber.txt

并将 "%main%" 作为命令行参数传递给另一个脚本 template.bat 。

但在 template.bat 中,“构建版本号更新”被视为第二个参数,其余为第三个

一。

请告诉我如何将变量 main 作为单个参数传递。

谢谢

4

2 回答 2

3

在第二个bat文件中;

@echo whole command line is %*
于 2010-06-04T12:01:32.300 回答
1

变量 %main% 包含空格,所以如果你像这样使用它:

template.bat %main%

Batch 会这样解释它:

template.bat svn blah blah blah

所以 %1​​ 将只是“svn”等。如果您希望将 %main% 的全部内容视为单个参数,则必须在其周围加上引号:

template.bat "%main%"

问题是, %1 现在包含这些引号。您必须使用波浪号在 template.bat 中删除它们:

%~1
于 2010-06-04T11:57:41.810 回答