在窗口中回显路径变量,显示两次

时间:2013-06-28 19:33:27

标签: windows-7 environment-variables

当我试图回显系统路径变量时,它显示两次相同的事情。

我的系统路径变量:

  

C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ bin; C:\ Program Files   (x86)\ PC连接解决方​​案\; C:\ Program Files \ Common   Files \ MicrosoftShared \ Windows Live; C:\ Program Files   (86)\ CommonFiles \ MicrosoftShared \的WindowsLive;%SYSTEMROOT%\ SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\ System32下\ WBEM;%SYSTEMROOT%\ System32下\ WindowsPowerShell \ V1.0 \; C:\程序   文件\ Dell \ DW WLAN卡; C:\ Program Files \ WIDCOMM \ Bluetooth   Software \; C:\ Program Files \ WIDCOMM \ Bluetooth   Software \ syswow64; C:\ Program Files(x86)\ Windows Live \ Shared;

当我在cmd上回应它 echo%Path%显示此

  

C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ bin; C:\ Program Files   (x86)\ PC连接解决方​​案\; C:\ Program Files \ Common   Files \ Microsoft Shared \ Windows Live; C:\ Program Files(x86)\ Common   文件\微软   共享\的WindowsLive; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:\ WINDOWS \ SYSTEM32 \ WBEM; C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ PROGRAM   Files \ Dell \ DW WLAN Card; C:\ ProgramFiles \ WIDCOMM \ Bluetooth   Software \; C:\ Program Files \ WIDCOMM \ Bluetooth   SOFTWARE \ Syswow64资料; C:\ PROGRAM   文件(x86)\的WindowsLive \共享; C:\ oraclexe \应用\ ORACLE \产品\ 10.2.0 \服务器\ BIN; C:\程序   文件(x86)\ PC ConnectivitySolution \; C:\ Program Files \ Common   Files \ Microsoft Shared \ Windows Live; C:\ Program Files(x86)\ Common   Files \ Microsoft Shared \ Windows   生活; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:\ WINDOWS \ SYSTEM32 \ WBEM; C:\ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ PROGRAM   文件\ Dell \ DW WLAN卡; C:\ Program Files \ WIDCOMM \ Bluetooth   Software \; C:\ Program Files \ WIDCOMM \ Bluetooth   Software \ syswow64; C:\ Program Files   (86)\的WindowsLive \共享; F:\爪哇\ jdk1.6.0_38 \ BIN \

有人可以帮助为什么两次显示相同的值?这有副作用吗?

  

P.S:我创建了一个本地Path变量as   %路径%F:\爪哇\ jdk1.6.0_38 \ BIN \

2 个答案:

答案 0 :(得分:1)

在WindosXP和Windows7之间的某个时间,用户级别PATH变量的解释发生了变化。现在它会自动将路径附加到系统定义的路径,而不是像以前那样替换它。

因此,您的本地路径最终为%PATH%;%PATH%; F:\ Java \ jdk1.6.0_36 \ bin

好消息是它有效 - 你找到了想要的文件。坏消息是找到你的java bin文件需要花费更长的时间。

编辑:令人讨厌的消息是您无法再覆盖系统定义的命令。将用户级别PATH定义为mybin;%PATH%不会产生所需的结果。

答案 1 :(得分:0)

如果您在控制台中执行此操作,则可以创建包含以下内容的批处理脚本:

for /F "tokens=2* delims= " %%f IN ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path ^| findstr /i path') do set OLD_SYSTEM_PATH=%%g
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_SZ /d "%OLD_SYSTEM_PATH%;F:\Java\jdk1.6.0_36\bin"

它基本上从注册表获取Path值并添加您的路径。请注意,如果使用Set命令在控制台中设置它,则Path长度中也会有大约1024个字符的限制,此代码可以解决此限制。

相关问题