win10误删环境变量Path的几种恢复方法

一、问题重现

  • 环境: win10
  • 相关信息

    通过Dos命令或图形界面操作,误删Path部分或全部环境变量。

二、问题–方案

简单说下Path修改及生效的原理:

  • 图形界面修改Path,同步到注册表,立即生效,已打开的cmd中不会生效;
  • cmd命令修改Path,同步到注册表,不立即生效,已打开的cmd中不会生效;
  • 重启计算机、重启文件管理器explorer.exe、手动发送系统全局广播,均会导致修改的系统Path生效,其中前两种较为常见。

下面针对各种情况,索引到不同的解决方案。

  • 未重启
    • cmd命令行恢复
    • 使用备份注册表恢复
    • 其他恢复(利用还未关闭的IDEA/PyCharm/Goland)
  • 已重启
    • 使用win10默认Path

三、解决方法

3.1 cmd命令行恢复

  • cmd命令行修改系统Path

被修改的系统Path只是同步到了注册表中,并未立即生效,所以可以使用cmd命令行重新得到系统Path。

echo %Path%

显示未修改前的系统变量:

C:\Users\admin\Anaconda3;C:\Users\admin\Anaconda3\Library\mingw-w64\bin;C:\Users\admin\Anaconda3\Library\usr\bin;C:\Users\admin\Anaconda3\Library\bin;C:\Users\admin\Anaconda3\Scripts;C:\Users\admin\Anaconda3;C:\Users\admin\Anaconda3\Library\mingw-w64\bin;C:\Users\admin\Anaconda3\Library\usr\bin;C:\Users\admin\Anaconda3\Library\bin;C:\Users\admin\Anaconda3\Scripts;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\Git\cmd;C:\Program Files (x86)\MySQL\MySQL Utilities 1.6;C:\Users\admin\Anaconda3;C:\Users\admin\Anaconda3\Scripts;C:\Users\admin\Anaconda3\Library\bin;C:\Users\admin\AppData\Local\Microsoft\WindowsApps;

复制该系统Path值重新修改系统Path即可。

  • 图形化界面修改系统Path

被修改的系统Path立即生效了,转 其他恢复/重启

3.2 备份注册表恢复

无论使用图形界面还是cmd命令行修改系统Path,都是立即同步到注册表文件的,所以,没有备份注册表也不用看了。

  • 使用regedit打开注册表;
  • 找到系统Path:

    注册表路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
    复制Path变量。

  • 图形界面或cmd命令行修改Path变量。

3.3 其他恢复(利用还未关闭的IDEA/PyCharm/Goland)

如果你在修改系统Path前打开了以上任意IDE,无论你怎么修改环境Path都不会生效,必须重启IDE才能生效。
由此,我们可以利用未关闭的IDE得到修改之前的Path变量的值。
在IDE的Terminal窗口输入以下命令:

echo %Path%

显示未修改前的系统变量:

C:\Users\admin\Anaconda3;C:\Users\admin\Anaconda3\Library\mingw-w64\bin;C:\Users\admin\Anaconda3\Library\usr\bin;C:\Users\admin\Anaconda3\Library\bin;C:\Users\admin\Anaconda3\Scripts;C:\Users\admin\Anaconda3;C:\Users\admin\Anaconda3\Library\mingw-w64\bin;C:\Users\admin\Anaconda3\Library\usr\bin;C:\Users\admin\Anaconda3\Library\bin;C:\Users\admin\Anaconda3\Scripts;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\Git\cmd;C:\Program Files (x86)\MySQL\MySQL Utilities 1.6;C:\Users\admin\Anaconda3;C:\Users\admin\Anaconda3\Scripts;C:\Users\admin\Anaconda3\Library\bin;C:\Users\admin\AppData\Local\Microsoft\WindowsApps;

复制该系统Path值重新修改系统Path即可。

3.4 重启(使用win10默认Path)

没有备份注册表又重启了,好惨(哭唧唧)
只能使用win10 默认系统Path恢复了,此外,推荐使用脚本快速配置开发相关的环境变量:
windows环境下快速(脚本)配置开发环境变量,如,go,scala、spark等

win10默认系统Path:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

参考文献

  1. windows环境下快速(脚本)配置开发环境变量,如,go,scala、spark等

你可能感兴趣的:(问题-技巧,Windows)