如何恢复我删除的Path环境变量?


26

我不小心通过使用路径名称创建一个新的路径环境变量来删除它。如何还原旧的Path环境变量?


请记住,每个Windows控制台会话都有其自己的PATH环境变量,可以使用PATH命令显示或更改该变量。但是,如果您关闭控制台并打开一个新控制台,则将还原原始系统PATH。我不确定控制台会话提升是否会出现这种情况。
宝达

Answers:


52

我今天早些时候通过安装程序丢失了PATH,但是由于所有现有程序已经在运行,因此很容易将其找回。如果您打开了命令窗口,请运行:

echo %PATH%

如果没有,则可以使用Process Explorer(procexp)查看当前正在运行的程序的环境变量。


3
哇靠。我不知道为什么这没发生在我身上,但是你为我省下了巨大的头痛。TY。
dudewad

2
“啊哈!” 当我发布的那一刻对我来说是非常有意义的。
汤姆·梅菲尔德

2
哦,过去的你。非常感谢您松开我的螺丝钉。我迷路了,但由于你,我看见了光明,又找到了路。
Sage Pourpre

8
极好的答案。使我免于还原备份。如果您没有打开一个命令窗口,我可以分享一下一个可能不太明显的技巧。如果您有一个带有打开对话框的程序(我使用了Chrome,因为它是在丢失路径之前打开的),请按Ctrl-O打开一个网站。导航到C:\ Windows \ system32 \并找到cmd.exe。右键单击cmd.exe,然后单击“打开”。这将显示一个包含软件环境变量的命令提示符(在本例中为Chrome),您可以回显%path%以获得旧的环境变量!
triadiktyo

2
您是个天才,如果我能多次投票赞成您,我肯定会的。两天前,我安装了一些抹去了我整个系统路径的软件后,我看着任务栏,意识到我的cmd已经打开了大约一周,而且您的“ echo%PATH%”不仅节省了我的培根,但使我避免了为VIsual Studio,Dotnet,Office和许多其他大型应用程序进行数小时的痛苦路径重建。大家请投票给这个家伙!!!!
shawty

21

我按照此处有关问题的答案中的建议进行操作,并于今天早晨使用regedit恢复了以前的路径设置。在这个答案上扩大一点,这就是我的方法。(阅读链接的答案以获取完整的说明,在此不提供所有详细信息。)

我选择了今天以来最早的备份(“今天”部分中的上午11:43时间戳)

RegBack早期版本的示例

并检查了注册表文件ControlSet002副本的HKEY_LOCAL_MACHINE/ System节点中最早的ControlSet:

在此处输入图片说明

并从该级别的键Control\ Session Manager\ Environment\中复制出路径变量的先前值Path

在此处输入图片说明

您的里程可能会有所不同,因为我不知道是什么触发了注册表的备份。


1
甚至更容易了,来自旧问题的注释“请注意,对于系统,取决于它是多久以前的,您可以直接返回HKLM(旧控件集版本)\ Control \ Session Manager \ Environment,而无需加载旧配置单元”
Jahmic

什么是模具?当我转到Regback的早期版本时,我看到一个先前的文件夹,尽管链接的答案很深,但我仍然不知道该怎么做。此外,您如何设法打开任何Regback文件夹的HKEY_LOCAL_MACHINE / System节点?
Ungeheuer

这些备份存储在哪里?
Shimmy

8

您可以进行系统还原。

使用系统还原来还原PC

从屏幕的右边缘扫入,然后点击搜索。(如果使用的是鼠标,请指向屏幕的右上角,向下移动鼠标指针,然后单击“搜索”。)在搜索框中输入“恢复”,单击或单击“设置”,然后单击或单击“恢复”。 。

点击或单击“打开系统还原”,然后按照提示进行操作。


3
  • 在开始菜单中,打开运行(或按⊞ Win+ R)。
  • 类型 regedit
    • HKEY_LOCAL_MACHINE folder
    • 转到 SYSTEM folder
    • 转到ControlSet002文件夹
    • 转到Control文件夹
    • Session Manager
    • 转到Environment文件夹
    • 然后,在Environment文件夹内,双击Path

先前的路径应该在那里。


1
这应该是公认的答案。所选的一种适用于短变量,并且不允许复制和粘贴。在这里您可以根据需要进行操作。
javydreamercsw

3
它显示了当前路径。不是旧的。
Shimmy

它根本没有显示出路径:(
Ayyash

WinAVR安装程序破坏了我的PATH变量,而不是附加给它...为我工作,感谢您的保存!
shadowtalker

0

我只是在环境变量因安装过时的应用程序而被破坏后几天才发现问题。但是我仍然有完整的注册表备份。可以找到所有截至备份日期的系统环境变量。然后可以根据系统/高级系统设置/环境变量将其与当前情况进行比较。根据备份的时间长短,并假设此后没有环境变量的变化,您就可以了。最糟糕的情况是,您必须在注册表备份之后且丢失路径数据之前重新安装已安装的应用程序,这通常比恢复工作少。下面我将解释如何完成此操作。

  1. 使用记事本++(免费和出色的编辑器)打开backup.reg文件。查找HKEY_LOCAL_MACHINE / SYSTEM / ControlSet001 / Control / Session Manager / Environment。如果这样不起作用,请尝试ControlSet002或更高版本。

  2. 将PATH的hex(2)哈希数据复制粘贴到新的Notepad ++窗口中。查找/替换所有','(不带引号的逗号)替换为'',所有'00'替换为'',所有双空格''替换为单个空格''。现在,您应该留给“纯十六进制”,不要用逗号或零作为分隔符。

  3. 打开http://www.rapidtables.com/convert/number/hex-to-ascii.htm。这是一个十六进制到ASCII转换器。将“纯十六进制”数据复制粘贴到十六进制窗口中,然后单击转换。现在,您可以查看路径数据,然后将其复制粘贴到记事本中,与当前版本进行比较,然后添加缺少的数据。你又回来了!

  4. 另外,您可能还想通过将Notepad ++ backup.reg中的数据与当前值进行比较来检查其他环境变量。丢失的数据可以按照与上述相同的方式进行检索。


0

我不小心删除了Path环境变量


我也是如此,许多曾经工作的命令突然产生了一个错误:

The term '<command>' is not recognized as the name of a cmdlet, function, script file, or operable program. 


这个问题的其他答案对我不起作用,因此

我不得不一次恢复一次Path环境变量:

  1. 从一个普通的命令提示符,而不是PowerShell中,输入where <command>,例如where npm
  2. 在Cortana中输入“环境变量”以编辑系统环境变量。
  3. 在系统变量下,找到路径变量,然后单击编辑。
  4. 添加步骤1中的每个文件路径。
  5. 重启你的电脑。
  6. 对产生错误的每个命令重复此操作。
  7. 喜欢使用有效的命令。:-)

在此处输入图片说明


0

从默认设置“还原”是另一种选择,存在一些已安装的应用抱怨直到修复的风险。
背景:重启后启动WLM时发生。唯一具有有关丢失的WLDcore.dll信息的线程提示缺少PATH环境变量。
在上述重启之前,有一个管理PS控制台已打开,试图使Curl接受命令。必须PATH以某种方式将变量删除。

幸运的是,在从ControlSet001访问值之前,将Brink的默认PATH值复制到“ 系统属性\环境变量”(无ControlSet002)此处)在该线程的其他答案中提及。因此,恢复原始值的唯一选择是在该线程中也提到了系统还原。一件好事是PATH在此计算机上使用的应用程序记录了它们的要求,因此易于修复。

对于那些经历过类似情况的人,这里是Brink的Windows 10值:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared

而他对以前的操作系统的最低要求:

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

-1

我只是通过执行以下操作来检索它:我以前的“路径”设置仍在dos cmd提示屏幕上。因此,用鼠标右键单击它。选择“全选”。这将复制您的屏幕。打开记事本,然后粘贴。现在,在记事本中突出显示路径定义,右键单击并复制。返回到dos cmd提示屏幕。右键单击并粘贴,这对我有用,祝您好运!


这将复制另一个答案中已经存在的信息,并假定在这种情况下一个碰巧已经打开了命令提示符。
bertieb 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.