Windows批处理文件 - 将环境变量插入到可执行调用中

时间:2011-11-28 02:28:33

标签: windows file batch-file environment-variables interpolation

道歉,如果我在另一个帖子中忽略了这个问题,但我无法找到它(在这里或在互联网上的任何地方)。

在Windows(XP)中,我通过右键单击我的电脑,然后选择属性>来设置以下全局环境变量。高级>环境变量

CUSTOM_HOME = c:\some\folder\path

如何将其插入到批处理文件中的执行中?我需要将subfolder\program.exe“附加”到此路径,以便在批处理文件中获得c:\some\folder\path\subfolder\program.exe。我尝试了像

这样的东西
%CUSTOM_HOME%\subfolder\program.exe

但是当我执行批处理文件时,输出只显示

> \subfolder\program.exe
> The system cannot find the path specified.

正确的语法是什么,所以 .exe 的完整路径是正确的?

3 个答案:

答案 0 :(得分:5)

这是正确的语法,但是如果custom_home路径包含空格,则需要在整个事件周围添加引号。

如果找不到,则表示全局env变量拼写错误或不可用。您可以使用SET CUSTOM_HOME在命令行中对此进行测试。

答案 1 :(得分:4)

这里的问题是除了等号之外的空格。在批处理SET命令中,变量名是等号前的完整字符串(包括空格),变量值是等号后的完整字符串(包括等号)。

此命令:

SET CUSTOM_HOME = c:\some\folder\path

为“CUSTOM_HOME”变量赋值“c:\ some \ folder \ path”。您可以这样测试:

ECHO %CUSTOM_HOME %

除了等号外,只需消除空格......

答案 2 :(得分:0)

您的语法是正确的。我认为您已打开命令提示符并设置环境变量。现在,您可能正在同一命令提示符上执行批处理文件。

由于它可能无法正常工作。

尝试关闭现有的命令提示符并运行它。