Visual Studio命令提示符给出“\ Common此时意外”

时间:2012-01-06 11:00:57

标签: visual-studio visual-studio-2010 batch-file

我需要使用Visual Studio命令提示符(2010)从命令行运行MSBuild。它曾经工作得很好。现在当我打开窗口时,我收到以下错误消息:

\Common was unexpected at this time.

尝试在失败后运行msbuild命令。

我自然认为这是一个问题,在我的PATH环境变量中有一个不带引号的条目,可能来自最近的流氓安装。我查了一下,但PATH似乎是犹太人。

进入文件系统,我发现提示符运行的批处理文件是C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin \ vcvars32.bat。我通过输入ECHO语句来跟踪错误的位置来编辑它。这似乎指出了这一行的错误:

@if not "%WindowsSdkDir%" == "" (

如果删除引号,则错误不同:“此时不会出现文件。”

此后的下两行是:

@echo 51
@set "PATH=%WindowsSdkDir%bin\NETFX 4.0 Tools;%WindowsSdkDir%bin;%PATH%"

我认为失败的语句是第二行,但echo语句不会产生任何输出,所以我不知道这是怎么回事。

我使用的是64位版本的Windows 7。

我会感激任何帮助。

4 个答案:

答案 0 :(得分:29)

请参阅this主题。

我的猜测是你的PATH最近被修改过,现在包含一些带引号的文件夹路径。

HTH

答案 1 :(得分:3)

我的问题是在if块中,变量赋值的rval(在我的情况下为%PATH%)包含括号,例如:

set var=foo ) got ya

if 1 == 2 (
    set var2=%var%
)

显示"此时得到意外。"

我在这里找到答案:Batch file variable with spaces and parentheses。这是使用set的扩展语法。例如:

set "var2=%var%"

这不会添加引号,也不会影响存储在%var2%中的结果。

答案 2 :(得分:0)

我在PATH变量中引用了引号("),在我删除它之后它开始工作。

答案 3 :(得分:0)

此外,环境变量列表中的分号(“;”)也会在Win 10上导致相同的行为。

enter image description here