2010-09-27 42 views
157

Có thể đặt biến môi trường ở cấp hệ thống từ dấu nhắc lệnh trong Windows 7 (hoặc thậm chí XP cho vấn đề đó). Tôi đang chạy từ một dấu nhắc lệnh nâng lên.Đặt biến môi trường hệ thống từ tệp lô Windows?

Khi tôi sử dụng lệnh set (set name=value), biến môi trường dường như chỉ hợp lệ cho phiên của dấu nhắc lệnh.

Trả lời

151

Các công cụ XP Hỗ trợ (có thể được cài đặt từ XP CD của bạn) đi kèm với một chương trình gọi là setx.exe:

C:\Program Files\Support Tools>setx /? 

SETX: This program is used to set values in the environment 
of the machine or currently logged on user using one of three modes. 

1) Command Line Mode: setx variable value [-m] 
    Optional Switches: 
    -m Set value in the Machine environment. Default is User. 

... 
For more information and example use: SETX -i 

Tôi nghĩ rằng Windows 7 thực sự đi kèm với setx như một phần của một tiêu chuẩn cài đặt.

+7

Windows 7 (có thể đã có Vista) có tiêu chuẩn setx, với một thay đổi nhỏ? không có cờ '-i' và chỉ chạy' setx /? 'hiển thị tất cả trợ giúp + ví dụ – stijn

+3

Hãy nhớ rằng bạn luôn có thể kiểm tra xem bạn có chương trình này trên đường dẫn của mình hay không bằng cách gõ' where' và sau đó là tên của chương trình (vì vậy trong trường hợp này 'nơi setx.exe' trong thử nghiệm này trên một Server 2008 và Server 2008SP2 hộp Tôi thấy rằng trong cả hai trường hợp nó tồn tại tại'% windir% \ System32 \ setx.exe' – aolszowka

+2

@stijn - Phiên bản Win7 cũng chính thức thay đổi cờ giới thiệu từ '-' thành dấu gạch chéo chuyển tiếp'/'. Tuy nhiên, có vẻ như phiên bản' -' vẫn hoạt động. –

106

ví dụ đơn giản để làm thế nào để thiết lập JAVA_HOME với setx.exe trong dòng lệnh:

setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04" 

này sẽ thiết lập biến môi trường "JAVA_HOME" cho người dùng hiện tại. Nếu bạn muốn đặt biến cho tất cả người dùng, bạn phải sử dụng tùy chọn "-m". Dưới đây là một ví dụ:

setx -m JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04" 

Note: bạn phải thực hiện lệnh này as Administrator.

Note: Hãy chắc chắn để chạy lệnh setx từ một dòng lệnh quản lý cửa sổ

+7

cũng lưu ý rằng một số công cụ không thích khoảng trống trong JAVA_HOME vì vậy nó đáng giá bằng cách sử dụng 'Progra ~ 1' như sau: \t 'setx/M JAVA_HOME" C: \ Progra ~ 1 \ Java \ jdk1.7.0_09 "' – samael

+0

Trường hợp này đã được tất cả cuộc sống của tôi. –

2

Đối với XP, tôi đã sử dụng một công cụ (miễn phí/donateware) gọi là "RAPIDEE" (Rapid Môi trường biên soạn), nhưng SETX chắc chắn là đủ cho Win 7 (tôi không biết về điều này trước đây).

1

Chỉ trong trường hợp bạn cần xóa biến, bạn có thể sử dụng SETENV từ Vincent Fatica có sẵn tại http://barnyard.syr.edu/~vefatica. Không chính xác gần đây ('98) nhưng vẫn hoạt động trên Windows 7 x64.

+4

setx cho phép bạn xóa cũng bằng cách đặt giá trị thành trống –

13

Nếu bạn đặt biến qua SETX, bạn không thể sử dụng biến này hoặc thay đổi của biến này ngay lập tức. Bạn phải khởi động lại các quá trình muốn sử dụng nó.

Sử dụng trình tự sau đây để trực tiếp đặt nó trong quá trình thiết lập quá (chỉ hoạt động đối với tôi một cách hoàn hảo trong kịch bản mà làm một số công cụ init sau khi cài đặt các biến toàn cục) :

SET XYZ=test 
SETX XYZ test 
1

Hệ thống biến thể đặt thông qua CMD và đăng ký Ví dụ: truy vấn reg "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment"/v PATH

Tất cả các thường được sử dụng mã số CMD và các biến hệ thống được đưa ra ở đây: Set Windows system environment variables using CMD.

mở CMD và gõ Đặt

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

Nhập đặ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.

Các vấn đề liên quan