วิธีการกู้คืนจาก 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/…
Doug

1
ระบบของคุณจะไม่เสถียร แต่ค้นหาจากผู้ใช้ windows 8 หรือเว็บเพจอื่น ๆ ว่าเส้นทางควรอยู่ในการติดตั้ง windows 8 ใหม่และใช้สิ่งนั้น และเติบโตถ้าจำเป็น สำรองเส้นทางของคุณเสมอก่อนที่จะใช้ setx อาจจะมีการคืนค่าระบบที่คุณสามารถทำได้ใน windows 8 ที่สามารถย้อนกลับได้หรือไม่ มันควรลอง EDIT ADDED- ครั้งต่อไปเมื่อใช้ setx ก่อนอื่นให้ทำเสียงก้อง% PATH%> afile <- แล้วลอง setx กับตัวแปรอื่นไม่ใช่ PATH จากนั้นเมื่อคุณแน่ใจว่าคุณมี setx line ถูกต้องหลังจากลองใช้ TESTPATH ​​แล้วให้ setx บน PATH
barlop

1
หากคุณยังไม่ได้เริ่มต้นใหม่เป็นครั้งที่สองคุณสามารถดูการสำรองข้อมูล CurrentControlSet ที่เป็นเลิศ
บ๊อบ

3
@Bob ดีถ้ายังไม่รีสตาร์ทและยังคงเปิดหน้าต่าง cmd เดียวกันจากนั้นหลังจาก setx ตัวแปรพา ธ ยังคงไม่ถูกตั้งค่าในหน้าต่าง cmd ปัจจุบันและคุณสามารถสะท้อน% พา ธ % อย่างไรก็ตามอาจเป็นระบบ คืนค่าเส้นทาง
barlop

1
เกี่ยวกับความเสถียร : โดยทั่วไปเพื่อให้ Windows ทำงานได้ดีคุณเพียงแค่ต้องการ `% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0` ทุกอย่างเป็นซอฟต์แวร์ของบุคคลที่สาม nVidia จะเพิ่มรายการในการอัปเดตไดรเวอร์อีกครั้งและทำงานได้ดีแม้ไม่มี ปัญหาที่เกี่ยวข้องกับเส้นทางนั้นหายากและมักจะชัดเจนดังนั้นคุณสามารถจัดการกับปัญหาเหล่านั้นได้เป็นกรณี ๆ ไป เกี่ยวกับการขยายเส้นทาง : pathman.exe ใช้จากชุดทรัพยากร แต่จำไว้ จำกัดsuperuser.com/a/387625
LogicDaemon

คำตอบ:


3

PATH ถูกบันทึกใน Registry at

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

ถ้าคุณมีจุดคืนค่าระบบคุณสามารถหากุญแจที่เกี่ยวข้องและเรียกคืนได้


2
โดยทั่วไปจะมีรีจิสตรีคีย์ "ControlSetXXX" หลายอันซึ่งคีย์ CurrentControlSet ที่กล่าวถึงนั้นเป็นคีย์เดียว ไม่จำเป็นต้องมีจุดคืนค่าใด ๆ ที่จะต้องดูพวกเขา
kreemoweet

0

ไม่มีชื่อเสียงพอที่จะแสดงความคิดเห็นที่นี่ แต่ความคิดเห็นของ @ kreemoweet - น่าเสียดายที่ Windows 10 (และฉันเชื่อว่า 8 / 8.1 เช่นกัน) ปิดการใช้งานตัวเลือก "last good good config" ที่รู้จักและการสำรองข้อมูลที่เกี่ยวข้องซึ่งเคยใช้เพื่อกู้คืน (ชุดควบคุม ### ที่คุณพูดถึง) พฤติกรรมนี้สามารถเปิดใช้งานได้อีกครั้งผ่านการแก้ไข 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 ### ถ้าคุณต้องการเปิดใช้งานตัวเลือก "รู้จักกันดีล่าสุด config" ในเมนูการบูต (ดั้งเดิม) (ซึ่งจะต้องเปิดใช้งานอีกครั้งใน Win8 / 8.1 ฉันเชื่อว่าสำหรับตัวเลือกนี้จะปรากฏขึ้นจริง) คุณ ต้องเพิ่ม:

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

Name: Enabled
Type: DWORD
Value: 1 = enabled
    0 = disabled
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.