我的目标是将%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 \" 。)
那可能吗?
答案 0 :(得分:2)
使用以下语法:
SET "PF=%ProgramFiles(x86)%\MSBuild\"
注意引号的位置。