Biến PATH và môi trường của Windows 7 bị hỏng


97

Tôi không có manh mối, nhưng gần đây tôi đã gặp vấn đề này. Sau khi chạy máy trạm của tôi, đột nhiên một cái gì đó phá hủy PATH và rất nhiều thứ ngừng hoạt động. Ban đầu, đường dẫn của tôi có NHIỀU thư mục được liệt kê (tôi sử dụng Windows 7 làm hộp phát triển) và sau một thời gian, tôi chỉ còn 3-4 thư mục được liệt kê trong đường dẫn còn lại.

Tôi thậm chí không thể mở hộp thoại Thuộc tính hệ thống nơi tôi có thể thấy các biến môi trường (vì nó sử dụng các biến shell để khởi động nó và nó không hoạt động). Tóm lại, tôi khởi động lại mỗi lần.

Bất kỳ ý tưởng những gì có thể gây ra vấn đề đó? Tôi đã không chạy bất cứ điều gì mới / bất thường gần đây. Chỉ có VmWare (nhưng trước đây tôi đã sử dụng nó và không gặp phải vấn đề đó).

Tôi chỉ kiểm tra, thậm chí %WINDIR%không được xác định. WTF?!


2
Gần đây tôi đã gặp vấn đề tương tự trên hộp Vista 64 bit của mình. Không có nguyên nhân rõ ràng, nếu tôi mở một dấu nhắc lệnh mới, thì biến đường dẫn được đặt thành một phần của đường dẫn được xác định trong "Biến người dùng". Phần "Biến hệ thống" của đường dẫn bị thiếu. Một số, nhưng không phải tất cả các biến hệ thống là không xác định. Sổ đăng ký có vẻ ổn và mọi thứ đều ổn trong hộp thoại Thuộc tính hệ thống (sử dụng "c: \ windows \ system32 \ systemproperIESadvified.exe"). Sau khi khởi động lại, hệ thống hoạt động bình thường. Vấn đề tái diễn cứ sau vài ngày. Quét virus đầy đủ không tìm thấy gì.
Lee

Tôi đã từng gặp vấn đề tương tự. Tôi đã tìm thấy một vài thứ khác nhau đã kích hoạt nó (chạy một số chương trình, chạy trình cài đặt, v.v.) nhưng không có lý do nào gây ra nó (chúng hoạt động tốt trên các máy khác hoặc trong VM.) Cuối cùng, tôi gặp vấn đề khác với việc phải cài đặt lại Mà sửa mọi thứ.
Jim McKeeth

4
con đường của tôi quá dài Tôi đã loại bỏ các bản sao, loại bỏ các mục vô dụng và vấn đề đã biến mất.
Pavel P

Câu trả lời:


127

Từ blog của tôi

Tóm lại, nếu biến môi trường PATH của bạn có hơn 2048 ký tự thì nó (và WINDIR) sẽ không hiển thị trong nhiều ngữ cảnh.

Tôi đã sửa nó bằng cách chạy thủ công c: \ windows \ system32 \ systemproperIESadvified.exe và xóa một mục từ PATH của tôi để đặt tôi dưới 2048 ký tự. Cửa sổ cmd mới hoạt động tốt.

Cập nhật: Câu hỏi tương tự này tuyên bố 2047 là tối đa và giải thích các quy tắc mở rộng


2
Tôi chỉ khắc phục sự cố bằng cách khởi động lại máy tính ... Đó thực sự là một giới hạn ngu ngốc của Windows!
Edwin Yip

3
Chỉ cần gặp vấn đề này. Thật là một câu chuyện hài hước. Cảm ơn
BơiBikeRun

3
Như những người khác đã đề cập, sau khi sửa lỗi PATH của bạn, chỉ cần khởi động lại explorer.exe trong trình quản lý tác vụ nếu bạn không muốn khởi động lại. Vui lòng đảm bảo rằng bạn KHÔNG khởi chạy trình quản lý tác vụ bằng cách nhấp chuột phải vào thanh tác vụ! Làm điều đó sẽ khởi tạo trình quản lý tác vụ với đường dẫn được kích hoạt (và do đó quá trình explorer.exe mới của bạn). Khởi chạy nó bằng cách thực hiện ctrl + shift +
esc

1
Cảm ơn vì điều này. Tôi đã chiến đấu với điều này trong khoảng một tháng qua khi một sản phẩm của Sony tăng khoảng 200 ký tự.
Michael Dorgan

1
Những gì tôi đã làm ngoài những gì Raven đề xuất: thay thế các thư mục cơ sở phổ biến như c:\program files (86)trong biến đường dẫn bằng một biến khác như ví dụ PRGX86chỉ vào thư mục tệp chương trình. Bằng cách đó bạn có thể lưu một số ký tự bổ sung.
ovm

23

Giới hạn ký tự 2048 là có thật. Những gì tôi đã làm là chia đường dẫn thành hai biến riêng biệt và bao gồm biến thứ hai trong biến PATH:

PATH=C:\;%PATHEXTENDED%
PATHEXTENDED=E:\

Như vậy, tôi không phải xóa bất kỳ thư mục PATH nào nhưng có biến PATH dưới 2048 ký tự.


2
ok đó là thiên tài xinh đẹp
kenwarner

1
Rất thông minh, nhưng các ứng dụng tự động thêm các mục PATH có thể sẽ hoạt động trên đường dẫn được mở rộng hoàn toàn và vẫn sẽ hoạt động bình thường. Nhưng ít nhất cơn đau sẽ nằm trong quy trình đó.
Quạ

Cảm ơn bạn vì ý tưởng tuyệt vời này, nhưng thật không may, nó không hoạt động theo Win7: biến "extpath" - hoặc trong trường hợp của bạn là "pathextends" - không được phân tích cú pháp .....
unknown6656

2
Giải pháp này không hiệu quả với tôi trong Win 7. Nội dung của 2 biến được nối với nhau, nhưng bất kỳ ký tự nào sau năm 2048 (?) Đều bị cắt từ biến PATH kết hợp. Vì vậy, cuối cùng tôi đã phải xóa các mục khỏi PATH, theo @Raven, để lấy các biểu tượng của tôi và %windir%, v.v. để quay lại.
sủa

12

Một bản sửa lỗi khắc phục cho bất kỳ ai đang cố gắng giải quyết vấn đề này, do quá nhiều pathhoặc vì bất kỳ lý do nào khác: chỉ cần khởi động lại Explorer. Vỏ mới chọn một môi trường mới. Điều này khắc phục sự tham nhũng trong thời gian hiện tại, mà không phải khởi động lại, ngay cả khi bạn chưa thể xác định và giải quyết vĩnh viễn nguyên nhân cơ bản.

1.

nhập mô tả hình ảnh ở đây

2.

nhập mô tả hình ảnh ở đây

3.

nhập mô tả hình ảnh ở đây

EDIT: cập nhật cho các phiên bản Windows mới hơn.

Trình quản lý tác vụ bây giờ thực hiện nó trong một bước:

nhập mô tả hình ảnh ở đây


Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của riêng bạn và khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào .
Michael K

Với sự tôn trọng, tôi không đồng ý. Câu hỏi là Windows 7's PATH and environment variables are corrupted. Phản ứng của tôi cung cấp một cách để loại bỏ tham nhũng đó. Đây là một câu trả lời có liên quan cả về quyền riêng của mình và kết hợp với các bản sửa lỗi khác mà sau đó sẽ cần phải khởi động lại.
Reg Chỉnh sửa

Tôi sẽ đề nghị chỉnh sửa câu trả lời của Raven và thêm phần của bạn vào đó. Hầu hết mọi người sẽ chỉ đọc câu trả lời được chấp nhận và nếu tôi hiểu chính xác, câu trả lời của bạn chủ yếu là một bổ sung cho điều đó.
Michael K

Ah tôi thấy. Không, nó liên quan đến bất kỳ giải pháp nào đang được thử. Tôi đã chỉnh sửa câu trả lời của mình để làm cho nó rõ ràng hơn.
Reg Chỉnh sửa

1
đây có lẽ là một nhận xét đáng giá hơn là một câu trả lời. Điều đó thay vì khởi động lại, anh ta nên kết thúc nhiệm vụ explorer.exe và khởi động lại explorer.exe. Câu trả lời của bạn giải quyết một phần vấn đề của anh ấy - phần này "Tôi thậm chí không thể mở hộp thoại Thuộc tính hệ thống nơi tôi có thể thấy các biến môi trường (vì nó sử dụng các biến shell để khởi động nó và nó không hoạt động). Tóm lại, tôi khởi động lại mọi thời gian." Nhưng lưu ý rằng vì anh ta gặp vấn đề về đường dẫn sau khi khởi động lại, điều này sẽ không khắc phục vấn đề của anh ta nữa bằng cách khởi động lại.
barlop

3

bạn nên có một chương trình để theo dõi các khóa registry

biến người dùng

HKCU\Environment

biến máy

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

bạn có thể bắt được khoảnh khắc chúng bị phá hủy và thu hẹp nó lại.

Ngoài ra, thời gian mất bao lâu..sau khi khởi động. nếu bạn ít nhất có thể biết khi nào nó sẽ xảy ra, nó sẽ giúp thu hẹp mọi thứ.

thử chế độ an toàn quá. trong đó có quá trình liên quan và kiểm tra trình xem sự kiện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.