热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Windows】误删Path中的环境变量引发的惨案

昨天,在我安装数据库时,在Path系统变量中添加一条记录时,我错误的将Path系统变量覆盖了。等我修改完,就只剩我最近添加的

昨天,在我安装数据库时,在 Path 系统变量中添加一条记录时,我错误的将 Path 系统变量覆盖了。等我修改完,就只剩我最近添加的那一条记录了。

当我在 cmd 中测试我安装数据库是否成功时,我以为是我在系统变量中设置了路径错误,结果却发现了 Path 被覆盖了。当时整个人有点懵逼了。

我什么时候改的?我操作没有错误啊!系统为什么都没有提示?

发出了灵魂三连击后,我开始百度。

一 尝试解决

关键词:“Path 删除后如何恢复”

网上的答案其实都差不多,总结起来就是:

  1. 没有重启的话,去注册表对应目录下查看 Path 以前的数据。方法为:

    win+r打开小窗口,然后输入regedit 打开注册表。然后输入路径:

    计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

    找到 Path 查看数据。

    我的问题其实不是删除,是覆盖。所以我的 Path 下一样只剩一条数据了。

  2. 打开 cmd ,然后输入echo %path%

    这个方法确实可以看到一些记录,我也照着添加了。但是,这些记录有的并不是正确的

关键词:“Path 覆盖后如何恢复”

这个根本没有搜到

此时我已经放弃恢复了,我打算先把系统默认的加回来。

关键词:“Win 10 默认 Path ”

这个网上也有很多,而且内容极为不同。其实系统默认的 Path 不多,大多都是你后面自己加的,这里给出我的两台机器都有的 Path 系统变量:

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

主要都是带 System 的。

注意:如果你复制了错误的 Path 记录,不但不会有用,反而可能会有不好的影响。所以,当误删了 Path 后,不要盲目的把网上的环境变量一股脑的复制粘贴到你的 Path 中,这只是一种“心理安慰”。出了问题,自己的锅,勇敢的面对并且承担,冷静下来想一想解决办法。

二 煎熬

在我把echo %path% 中的记录添加到 Path 后,我感到很焦急。所以我在群里发出了求助,接下来的一段时间里,我期待着有人可以站出来帮助我。不过结果挺令人失望的,在你出问题时,别人的冷漠就像在别人出问题时你的冷漠一样。

我此时想起我可以复制别人电脑的 Path,刚好我有一台旧的笔记本,我就打开了它,然后查看它的 Path 记录。然后将它们复制到我的 Path 中。但是测试依然失败了。

我之前没有遇到过这种情况。如果系统坏了,那么重装便是;但是现在的情况,感觉一切正常,电脑上其他什么都可以用,但是你需要的环境无法安装好。到底是重装系统还是心存恢复 Path 的希望? 就像被宣告得了癌症,进退维谷。

此时的我,没有人帮助我感觉我的话,我只能接受重装系统,重新下载软件,重新添加 Path 。这一系列复杂的过程让我眉头紧锁,严峻的后果让我放弃了自己思考出路的想法,我只好寻找一位老师(下面我们叫他涛哥吧)的帮助。

涛哥告诉我,带 System 的这些系统的记录(就是我前面给出来的)可以先添加一下。其他的如果不记得的话,就没有办法回复了。

由于cmd 中 javac(我之前配置好的)命令失效,我担心我的虚拟机会受影响。所以我打开了虚拟器敲下ifconfig,第一个网卡(eth0)的信息果然已经看不到了。没有这条信息,XShell 就没有办法连接这个虚拟机了。(心态大崩)

这里还是要感谢涛哥,他的耐心指导让我冷静了下来。

三 虚惊一场

javac 命令的失效我还怀疑是我自己命令写错了。我就打开了我之前的博客,想看一看当时是怎么查看 java 环境如何配置的。

就在这时,“奇迹”出现了,我的博客中有我当时 Path 环境变量的截图!!!

四 痛定思痛

当时百感交集。但一个最大的感受是:写博客真他娘有用

在面对困难时,有时候你认为只有别人可以帮助你,你不曾注意到,救命稻草就在你自己手中

五 总结


1. 防患未然

如果 Path 没有误删的朋友,以后操作 Path 时一定小心谨慎

备份注册表 备份的方式很简单,网上都有

参考:https://zhuanlan.zhihu.com/p/38245505

2. 亡羊补牢

如果已经误删了,可以先看看注册表中还有记录没有。如果没有,先把默认的环境变量加上。其他的以后慢慢加吧。但是不要慌张,不要着急重装系统,留下一点希望是好的。(echo 那个可以参考一下,不过要抱着怀疑的心态。)

下面是我修改 Path 的一些过程:

东拼西凑出来的错误 Path:

C:\Program Files\MySQL\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\1\AppData\Local\Microsoft\WindowsApps;C:\Users\1\AppData\Local\GitHubDesktop\bin;D:\xshell\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;%JAVA_HOME%\bin;

echo %path%出来的错误 Path:(尤其是后面两个,根本啥也不是,我连这个路径也有没有)

C:\Program Files\MySQL\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\1\AppData\Local\Microsoft\WindowsApps;C:\Users\1\AppData\Local\GitHubDesktop\bin

最终的正确 Path:

C:\Program Files\MySQL\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;%JAVA_HOME%\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;D:\github\Git\cmd;D:\Tortosise\bin;D:\codeblock\CodeBlocks\MinGW\bin;


推荐阅读
author-avatar
小梦茜呦_163
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有