自定义 Windows 7 环境变量不起作用

自定义 Windows 7 环境变量不起作用

我通过 Windows 7 高级系统设置创建了一个新的环境变量:

VAR_MYPATH = "D:\someFolder"

我将新变量添加到同一个对话框中的路径中:

PATH = ...;%VAR_MYPATH%

当我运行新的命令提示符并输入“CD %VAR_PATH%”时,没有返回错误,但命令提示符不会更改为“D:\someFolder”。

如果我尝试从 C 盘启动该文件夹下的批处理文件,最终会出现错误:

c:> %VAR_MYPATH%\someSubfolder\theBatchFile.bat
The system cannot find the path specified

所有路径都是正确的,那么我缺少什么来使环境变量正常工作?

答案1

  1. 出于与 MS-DOS 和 的兼容性原因COMMAND.COM,Windows cmd.exeshell 维护了一个列表“当前目录”,每个驱动器号一个,该cd命令会更改目录,但不会更改当前驱动器。

    使用cd /d %var_mypath%也可以改变当前驱动器。

  2. 不要在变量值中加引号。如果加了引号,那么%VAR_MYPATH%\someSubfolder\theBatchFile.bat将扩展为"d:\someFolder"\someSubfolder\theBatchFile.bat,这可能会造成混淆。(同样,为了兼容性,cmd.exe从继承了许多怪癖COMMAND.COM,包括一个奇怪的引用文本解析器。)

  3. 确保变量确实存在在当前cmd.exe窗口中,通过运行set var_mypathecho %var_mypath%。 (每个进程都从其父进程继承环境。)

相关内容