【发布时间】:2015-03-25 12:51:38
【问题描述】:
如果我这样做(MyVar 设置为“hi”值)
IF %MyVar% == "hi" ( Echo Hi )
然后我得到了输出
Hi
但如果我这样做(ProgramFile(x86) 设置为 C:\Program Files (x86))
IF %ProgramFiles(x86)% == "C:\Program Files (x86)" ( Echo Hi )
然后我就出局了
Files was unexpected at this time.
如果我这样做:
IF "%ProgramFiles(x86)%" == "C:\Program Files (x86)" ( Echo Hi )
然后我得到NO输出
为什么在 ProgramFile(x86) 环境变量的情况下输出不正确?
【问题讨论】:
-
set ProgramFiles(x86)说什么? -
无法重新创建。
IF "%ProgramFiles(x86)%" == "C:\Program Files (x86)" ( Echo Hi )在我的机器上回显 Hi。您缺少输出可能是拼写错误的结果。为什么不直接使用if defined PROGRAMFILES(x86) echo Hi呢? -
@Stephan set ProgramFiles(x86) 给出输出 C:\Program Files (x86)
-
@ shA.t & @rojo :
if defined PROGRAMFILES(x86) echo Hi和IF /I "%ProgramFiles(x86)%" equ "C:\Program Files (x86)" (echo Hi)工作正常,但是当我使用 == 比较运算符,它给出Files was unexpected at this time.输出 -
那是因为您没有将变量括在引号中。它的值包含一个空格。
标签: windows batch-file scripting