当我试图回显系统路径变量时,它显示两次相同的事情。
我的系统路径变量:
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 \
答案 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个字符的限制,此代码可以解决此限制。