Windows CMD不能反映路径条目的删除

时间:2017-01-09 11:24:55

标签: windows batch-file cmd

以下是Windows上的原始路径配置:

set Path=C:\Program Files\Java\jre1.7.0_80\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;

我删除了JRE的路径条目,我的路径如下:

set Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;

但我仍然明白这一点:

C:\tmp> java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

为什么Windows不会像这样反映路径条目的删除?我该如何删除路径条目?

(我的意图:我的应用程序希望Java已安装在用户和机器上;我想测试我的应用程序显示非Java安装机器的正确错误消息;所以我想通过以下方式模拟非Java安装环境删除JRE的系统路径条目;我知道我可以用另一种方式模拟它,但我只是好奇在Windows中导致这种行为的原因。)

2 个答案:

答案 0 :(得分:1)

我使用@HarryJohnston @LotPings建议的 where java ,我得到了这个;

  

C:\ Windows \ System32下\的java.exe
  C:\ Program Files \ Java \ jdk1.7.0_80 \ bin \ java.exe

问题出在其他地方; java.exe存在于2个不同的路径条目中

因此,在Windows中模拟非Java安装系统似乎无法通过仅操作本地(甚至是全局!)系统中的路径环境变量来实现......

暂时重命名以上的exe文件;

当然,在执行此操作之前,您应该使用JVM关闭或暂停任何进程或服务。

答案 1 :(得分:0)

您应该在Java.com网站上看到:"How do I set or change the PATH system variable?"

Windows 10和Windows 8

  1. 在搜索中,搜索并选择:系统(控制面板)
  2. 点击高级系统设置链接。
  3. 点击环境变量。在系统变量部分中,找到PATH环境变量并选择它。点击修改。如果PATH环境变量不存在,请单击新建
  4. 编辑系统变量(或新系统变量)窗口中,指定PATH环境变量的值。点击确定。点击确定
  5. 关闭所有剩余的窗口
  6. 重新打开命令提示窗口。
  7. 您也可以使用setx命令。