Tại sao môi trường cài đặt windows-xp biến thành% USERPROFILE% trả về đường dẫn sai


0

Tôi đang cố gắng thiết lập HOMEđể %USEPROFILE%dành cho người dùng hiện đang đăng nhập. Tuy nhiên, việc tạo biến môi trường hệ thống HOMEvà cài đặt và cài đặt nó %USERPROFILE%dường như không hoạt động. Sau khi đăng xuất và đăng nhập với tư cách là người dùng không phải quản trị viên, tôi có

c: \ đặt
...
HOME = c: \ Tài liệu và Cài đặt \ quản trị viên
TRANG CHỦ = c: \ Tài liệu và Cài đặt \ [người dùng]
...

Trong hộp thoại Biến môi trường Windows, tôi có

TRANG CHỦ% NGƯỜI DÙNG%

nhưng không thấy HOMEPATHđâu cả. Ai có thể nói cho tôi biết sửa như thế nào không?


Làm thế nào chính xác để bạn đặt HOMEbiến thành USERPROFILE? Nó có thể đã được đặt thành chuỗi "%USERPROFILE".

@hesse: Hộp thoại Biến môi trường thêm các giá trị đăng ký của loại REG_EXPAND_SZ (trái ngược với REG_SZ), cho phép mở rộng như vậy.
grawity

Câu trả lời:


1

Có một chút không rõ ràng từ câu hỏi của bạn, nhưng có vẻ như vấn đề là HOMEbiến môi trường đang được gán giá trị mở rộng của %userprofile%( c:\Documents and Settings\administrator) tại thời điểm định cấu hình nó, thay vì được lưu trữ dưới dạng chuỗi ký tự %userprofile%sẽ được mở rộng sau khi đăng nhập.

Đã được một thời gian kể từ khi tôi làm việc với loại điều này trên XP, nếu tôi nhớ lại, các biến môi trường vĩnh viễn được lưu trữ trong sổ đăng ký.

setthường chỉ hoạt động trong phiên cmd hiện tại, vì vậy để có được nó trong tất cả các phiên, có một tiện setxích (từ Microsoft) sẽ đặt các biến env vĩnh viễn.

Một mẹo nhỏ là tạo một tệp bó chạy khi khởi động (đặt nó vào thư mục khởi động all users) chạy setx. Điều này sẽ đảm bảo %userprofile%mở rộng đến hồ sơ người dùng hiện đang đăng nhập.


Chỉ muốn thêm rằng các tệp BATCH là các tệp script đơn giản có phần mở rộng .bat. Đơn giản chỉ cần đặt các lệnh bạn thường chạy trong cmdtệp này và khi được thực thi, tất cả các lệnh sẽ chạy như thể bạn chạy chúng từ đó cmd.

@horatio Tôi sẽ đặt giá trị của HOMEđược đặt thành vị trí của thư mục hồ sơ người dùng hiện đang đăng nhập là (tức là giá trị của %USERPROFILE%). Điều đó có ý nghĩa?
Azim

@horatio tệp bó làm việc xung quanh cũng không hoạt động. Kiểm tra chỉ ra rằng HOMEđang được đặt thành người dùng đã đăng nhập trước đó %USERPROFILE%.
Azim

Bạn sẽ thiết lập giá trị của HOMEmỗi lần người dùng đăng nhập. Nếu HOMEđược đặt, trước tiên bạn có thể cần hủy đặt nó và bạn sẽ cần phải cài đặt nó theo cách mà nó vẫn đặt cho đến khi đăng xuất. Thông thường, mọi biến môi trường được tạo bằng SET sẽ biến mất ngay sau khi cửa sổ cmd (hoặc quá trình tệp bó) được đóng lại. Setxhoạt động xung quanh này. xem, ví dụ ( ss64.com/nt/setx.html )
Horatio

@horatio cảm ơn đã làm rõ. Ban đầu tôi đã cài đặt HOMEbằng hộp thoại Biến môi trường Windows (trong Thuộc tính hệ thống -> Nâng cao -> Biến môi trường). Tôi cũng đã kiểm tra đề xuất của bạn về tệp BAT trong thư mục Tất cả người dùng-> Khởi động với một dòng duy nhất setx HOME=%USERPROFILE%. Cả hai dường như được đặt thành HOMEthư mục profilfe người dùng đã đăng nhập trước đó.
Azim
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.