根据批处理文件中的IF ELSE条件设置变量不同的值

时间:2015-08-11 07:28:13

标签: windows batch-file if-statement cmd

我的目标是将%PF%变量设置为x64计算机上的C:\ ProgramFiles(x86)\ MSBuild \和x86计算机上的C:\ ProgramFiles \ MSBuild \。 我可以很容易地实现这种方式

IF DEFINED ProgramFiles(x86) SET PF=%ProgramFiles(x86)%\MSBuild\
IF NOT DEFINED ProgramFiles(x86) SET PF=%ProgramFiles%\MSBuild\

但我想在单个IF ELSE语句中这样做。

那个

IF DEFINED ProgramFiles(x86) (SET PF=%ProgramFiles(x86)%\MSBuild\) ELSE (SET PF=%ProgramFiles%\MSBuild\)

意外" \ MSBuild \" 错误而失败。

那个

IF DEFINED ProgramFiles(x86) (SET PF="%ProgramFiles(x86)%\MSBuild\") ELSE (SET "PF=%ProgramFiles%\MSBuild\")

运行没有错误。

但结果值不是我需要的("%ProgramFiles(x86)%\ MSBuild \" - 而不是" C:\例如,在x64机器上的ProgramFiles(x86)\ MSBuild \" 。)

那可能吗?

1 个答案:

答案 0 :(得分:2)

使用以下语法:

SET "PF=%ProgramFiles(x86)%\MSBuild\"

注意引号的位置。