如何从被SETX截断为1024个字符的PATH恢复


12

尝试使用SETX将JAVA.exe添加到Windows PATH变量后,我在Windows 8上收到错误:

WARNING: The data being saved is truncated to 1024 characters.

重新启动后,我注意到PATH确实比以前短了很多。从那以后,我读到SETX不能处理超过1024个字符。在推荐使用它的文章中应该知道这一点。

我想知道我的系统现在是否会因为(可能)某些目录不再出现在PATH变量中而变得不稳定。字符串的末尾清楚地切断了中间目录(在Pr处):

(...) ;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Pr

有什么方法可以回滚或捕获PATH的先前值的任何位置。伙计,我无法相信29年后Windows仍会发生这种情况。


与这个问题不同,因为该用户只是想寻找另一种编辑PATH变量的方法。我想知道我的系统是否处于损坏状态以及如何恢复。superuser.com/questions/387619/...
道格·

1
您的系统不会很不稳定,但是可以从其他Windows 8用户或网页中找出在全新Windows 8安装中应该使用的路径,然后使用该路径。并在必要时使其生长。使用setx之​​前,请始终备份PATH。也许您可以在Windows 8中进行系统还原,从而还原路径?值得一试编辑-下次使用setx时,首先回显%PATH%> afile <-并在其他非PATH变量上尝试setx。然后,当您确定您有setx行时,请在TESTPATH上进行尝试后,再在PATH上进行setx。
barlop 2014年

1
如果您还没有第二次重新启动,则可以查看一下ghee CurrentControlSet备份。
鲍勃

3
@Bob好吧,如果还没有重启,并且仍然打开了相同的cmd窗口,那么在setx之​​后,当前cmd窗口中的path变量仍然没有设置,您可以只回显%path%,也许是系统restore恢复路径?
barlop 2014年

1
关于稳定性:基本上,要使Windows本身正常运行,只需要`%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0`。其他一切都是第三方软件。nVidia将在驱动程序更新时重新添加其条目,即使没有,它也可以正常运行。与路径有关的问题很少见并且通常很明显,因此您可以逐案处理它们。关于扩展路径:使用资源工具包中的 pathman.exe 。但请注意限制superuser.com/a/387625
LogicDaemon

Answers:



0

没有足够的声誉在这里发表评论,但是@kreemoweet的评论-不幸的是,Windows 10(我相信也是8 / 8.1)禁用了“最后一次正确的配置”选项以及它以前能够还原的关联备份(您所说的ControlSet ###)。可以通过reg修复重新启用此行为,但是除非用户手动执行此操作,否则很可能他们在注册表中查找时只会找到一个控件集(实际上是CurrentControlSet)。因此,此处可能需要进行系统还原。

万一其他人遇到这种情况,在注册表中重新启用ControlSet ###备份的方法是添加一个reg值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager

Name: BackupCount
Type: DWORD
Value: 1 = store one backup in registry (one "last known good config")
    2 = store two backups in registry (two "last known good configs")

上面启用了ControlSet ###备份。然后,如果您还想启用(旧版)启动菜单上的“最后一个正确的配置”选项(我相信在Win8 / 8.1中也需要重新启用该选项,才能真正显示该选项),需要添加:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager\LastKnownGood

Name: Enabled
Type: DWORD
Value: 1 = enabled
    0 = disabled
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.