【问题标题】:Set variable different values depending on IF ELSE condition in batch file根据批处理文件中的 IF ELSE 条件设置变量不同的值
【发布时间】:2015-08-11 07:28:12
【问题描述】:

我的目标是将 %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:\ProgramFiles(x86)\MSBuild\" 例如在 x64 机器上)。

那可能吗?

【问题讨论】:

标签: windows batch-file if-statement cmd


【解决方案1】:

使用这个语法:

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

注意引号的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    相关资源
    最近更新 更多