尝试在 .cmd 脚本中使用环境变量时,收到消息“\Windows 此时意外出现”

尝试在 .cmd 脚本中使用环境变量时,收到消息“\Windows 此时意外出现”

我需要在 .cmd 脚本中访问 Windows 环境变量,它看起来像这样,遵循以下文档微软的支持

if "%MY_ENV_VAR%" == "" (
  echo You must set your MY_ENV_VAR environment variable.
  goto end
)

set DO_STUFF="%MY_ENV_VAR%\some_folder\doStuff.exe"

但是,脚本无法运行,并且我收到以下消息:

\此时预计会有 Windows

我做错了什么吗?该如何解决?

我不知道这有多重要,但环境变量包含以下路径:C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0

答案1

我认为您可能将批处理语言与更高级的脚本语言混合在一起。您显示的链接是批处理文件的链接。据我所知,您不能像编写 Java 代码那样编写批处理文件(使用括号等)

以下是一些伪代码,可能会让您了解如何应用您链接的示例:

if "%MY_ENV_VAR%"=="" goto ERROR
set DO_STUFF=%MY_ENV_VAR%\some_folder\doStuff.exe
...
goto DONE
:ERROR
echo You must set your MY_ENV_VAR environment variable.
:DONE

我已经有一段时间没有编写过批处理文件了,但我认为基本上就是这样。

答案2

嗯...对我来说这似乎还可以。

但如果第一个 IF 是问题所在,您可以尝试以下操作:

if not defined MY_ENV_VAR (
    echo You must set your MY_ENV_VAR environment variable.
    goto end
)

相关内容