Câu hỏi Thiết lập và nhận các biến môi trường Windows từ dấu nhắc lệnh?


Tôi muốn thiết lập một biến môi trường từ dấu nhắc lệnh và sau đó có thể truy cập nó trên toàn cầu (ví dụ, tôi sẽ thấy nó bằng cách vào System -> Environment Variables).

Khi tôi sử dụng lệnh set, nó không thể truy cập trong một phiên cmd mới.

set NEWVAR=SOMETHING
echo %NEWVAR%

Câu hỏi liên quan:


182
2017-12-06 21:52


gốc


setx giá trị biến - sau đó khởi động lại Command Prompt - Andrew


Các câu trả lời:


Để làm cho biến môi trường có thể truy cập trên toàn cầu, bạn cần phải đặt nó trong sổ đăng ký. Như bạn đã thực hiện bằng cách sử dụng:

đặt NEWVAR = SOMETHING

bạn chỉ cần đặt nó trong không gian quy trình hiện tại.

Theo trang này bạn có thể dùng setx chỉ huy:

setx NEWVAR SOMETHING

setx được xây dựng trong Windows 7, nhưng đối với các phiên bản cũ hơn chỉ có thể có nếu bạn cài đặt Windows Resource Kit


198
2017-12-06 21:58



Nó chỉ ra rằng setx cũng được tích hợp vào các cửa sổ 7. - Shane
Lưu ý rằng bạn cần chỉ định hạn ngạch, ví dụ: setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45" sẽ làm việc. Nhưng setx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45sẽ cung cấp cho bạn các lỗi cú pháp - MD. Mohiuddin Ahmed
@ MD.MohiuddinAhmed Đó là bởi vì có không gian trong đường dẫn. - ChrisF
Rất tiếc! Tôi không nhận ra điều đó! ... Vẫn còn điểm tốt để lưu ý :) Cảm ơn @ Chris! - MD. Mohiuddin Ahmed
đó là một trích dẫn, không phải là hạn ngạch - phuclv


Chúng ta cũng có thể sử dụng "setx var variable / M" để thiết lập biến var thành hệ số biến môi trường thay vì cấp độ người dùng.

Lưu ý: Lệnh này sẽ được chạy với tư cách quản trị viên.


29
2017-08-26 10:37





setx program "C:\Program Files" /M

/ M cho mức biến môi trường hệ thống thiết lập thay vì cấp độ người dùng như @Minh Chau answer

Kiểm tra enter image description here

KHỞI ĐỘNG LẠI dòng lệnh (nếu bạn không khởi động lại dòng lệnh, biến môi trường sẽ không hoạt động)

enter image description here


7
2018-02-08 14:54



Điều này sao y một câu trả lời khác và không thêm nội dung mới. Vui lòng không đăng câu trả lời trừ khi bạn thực sự có nội dung mới để đóng góp. - DavidPostill♦
@DavidPostill câu trả lời của tôi có một mới là chúng ta cần khởi động lại dòng lệnh. Tôi nghĩ điều quan trọng là - Phan Van Linh


Các biến hệ thống có thể được thiết lập thông qua CMD và đăng ký Ví dụ: truy vấn reg "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Môi trường" / v PATH

Tất cả các mã CMD và biến hệ thống thường được sử dụng được đưa ra ở đây: Đặt biến môi trường hệ thống Windows bằng CMD.

Mở CMD và gõ Bộ

Bạn sẽ nhận được tất cả các giá trị của biến hệ thống.

Kiểu đặt java để biết chi tiết đường dẫn của java được cài đặt trên hệ điều hành cửa sổ của bạn.


1
2018-03-09 05:06



Vui lòng đọc lại câu hỏi một cách cẩn thận. Câu trả lời của bạn không không phải trả lời câu hỏi gốc. - DavidPostill♦
Đó là gần, mặc dù. Sử dụng REG ADD có thể thực hiện việc này? - TOOGAM


Old thread tôi stumbled khi,

Như đã đề cập trong @ChrisF trả lời bạn có thể đặt biến bằng cách sử dụng set hoặc là setx chỉ huy.

Và để tìm nạp các giá trị bạn có thể sử dụng

>set variable_name

Và bạn có thể đổ tất cả các biến môi trường với các giá trị bằng cách sử dụng lệnh set như thế này mà không đưa ra bất kỳ tham số nào.

>set

Và để hủy biến chúng ta có thể sử dụng

>set variable_name=

Bằng cách không đưa ra giá trị, chúng ta có thể loại bỏ biến từ không gian hiện tại.


1
2018-01-30 06:04



Đó nên là set variable_name= (hãy cẩn thận về không gian sau tên biến). - DavidPostill♦


Tôi muốn thêm rằng nếu bạn đang sử dụng tham số / s với setx để đặt biến môi trường trên máy tính từ xa, dịch vụ "Đăng ký từ xa" cần phải chạy trên máy đích hoặc nếu không bạn sẽ nhận được một "L ERI: không thể hoàn tất thao tác được chỉ định. "

(Tôi đã yêu cầu Microsoft cập nhật Bài viết TechNet trên setx để bao gồm thông tin này.)


0
2018-05-18 19:35