Як відновитись із врізаного PATH до 1024 символів SETX


12

Я отримав помилку в Windows 8 після спроби використовувати SETX для додавання JAVA.exe до змінної Windows PATH:

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 було захоплено. Людина, я не можу повірити, що подібні речі все ще можуть трапитися в Windows після 29 років.


Відмінне від цього питання тим, що цього користувача просто цікавить пошук іншого способу редагування змінної PATH. Мені цікаво, чи перебуває моя система в пошкодженому стані і як я можу відновитись. superuser.com/questions/387619/…
Даг

1
система не буде нестабільною, але дізнайтеся у іншого користувача Windows 8 або веб-сторінки, яким повинен бути шлях у новій установці Windows 8, і використовуйте це. І вирощувати його за потреби. Завжди створюйте резервну копію PATH перед тим, як використовувати setx. Можливо, у Windows 8 можна відновити систему, яка може повернути шлях назад? варто спробувати EDIT ADDED - наступного разу при використанні setx спочатку виконайте echo% PATH%> afile <- і спробуйте setx на іншій змінній, не PATH. Тоді, коли ви впевнені, що маєте правильну лінію setx, спробувавши її на TESTPATH, тоді зробіть setx на PATH.
барлоп

1
Якщо ви ще не перезапустили вдруге, ви можете виглядати витончені резервні копії ghee CurrentControlSet.
Боб

3
@Bob добре, якщо одне не перезапустилося і все ще має одне і те ж вікно cmd, відкрите, то після setx змінна шлях все ще не встановлена ​​у поточному вікні cmd, і ви можете просто відлунювати% path% Так чи інакше, можливо, система відновити відновлює шлях?
барлоп

1
про стабільність : в основному, щоб Windows працював добре, вам просто потрібно `% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0`. Все інше - стороннє програмне забезпечення. nVidia повторно додасть свої записи в оновлення драйверів, і це добре працює навіть без. Проблеми, пов’язані з доріжкою, зустрічаються рідко і зазвичай є очевидними, тому з ними можна просто впоратися окремо. Про розширення шляху : використовуйте pathman.exe з ресурсного набору . Але майте на увазі обмеження superuser.com/a/387625
LogicDaemon

Відповіді:


3

PATH зберігається в Реєстрі за адресою

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Якщо у вас є точки відновлення системи, ви можете знайти відповідний ключ та відновити його .


2
Зазвичай буде кілька ключів реєстру "ControlSetXXX", з яких вказаний ключ CurrentControlSet. Не потрібно жодних точок відновлення, щоб просто подивитися на них.
kreemoweet

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.