Làm cách nào để hiển thị nội dung của biến môi trường từ dấu nhắc lệnh trong Windows 7?


477

Trong Windows 7, khi tôi khởi động Dấu nhắc lệnh, có lệnh nào để hiển thị nội dung của biến môi trường (chẳng hạn như JAVA_HOMEhoặc PATHbiến) không?

Tôi đã thử với echo $PATH, echo PATH$PATHnhưng không ai trong số những công việc.


26
@Daniel: Tôi biết cách đặt các biến môi trường trong Windows, tôi chỉ cần mở "Thuộc tính hệ thống"> "Nâng cao" và "Biến môi trường". Vì vậy, tôi không mong đợi câu trả lời cho câu hỏi của mình trong một câu hỏi có tiêu đề "Làm cách nào để đặt PATH và các biến môi trường khác?" , bởi vì tôi biết điều đó! Tôi không hỏi về cách đặt chúng.
Jonas

Theo cách bạn nói đúng - là một trong những tác giả trong chủ đề khác, tôi thực sự đã không nhận thấy từ ngữ chính xác trong một thời gian dài. Tôi đã chỉnh sửa chủ đề đó để phản ánh nội dung thực tế của nó. Mặc dù vậy, tôi sẽ không thay đổi phiếu bầu, bởi vì tôi không thể, và vì tôi đánh giá rằng chủ đề này cho thấy không có nỗ lực nghiên cứu.
Daniel Beck


2
echo %path:;=&echo.%được danh sách đẹp của các đường dẫn phân tách dấu chấm phẩy. Hoạt động nếu một biến không chứa các ký tự đặc biệt như &hoặc ^.
Andry

1
lệnh in đường dẫn trong shell lệnh Windows là:path
Vyacheslav Lanovets

Câu trả lời:


534

Trong Windows Command-Prompt cú pháp là echo %PATH%

Để có được danh sách tất cả các biến môi trường, hãy nhập lệnh set

Để gửi các biến đó đến một tệp văn bản, hãy nhập lệnh set > filename.txt


Liên quan


1
Tại sao giá trị này khác với giá trị tôi đã chỉ định trong thuộc tính máy tính?
Johnny_D

2
@Johnny_D Có khả năng là bạn có biến phạm vi người dùng hoặc bạn có biến phạm vi phiên (sử dụng setlệnh bên trong dấu nhắc lệnh không giữ thay đổi sau khi bạn đóng cửa sổ giao diện điều khiển) đang ghi đè lên nó.
Scott Chamberlain

@RedGrittyBrick, Làm thế nào để bạn phân biệt các bộ được đặt trong toàn hệ thống so với những bộ chỉ dành cho người dùng hiện tại?
Pacerier

@Pacerier, đó sẽ là một câu hỏi riêng
RedGrittyBrick

119

Để bổ sung cho câu trả lời trước, nếu bạn đang sử dụng Powershell echo %PATH%sẽ không hoạt động. Bạn cần sử dụng lệnh sau thay thế:echo $Env:PATH


15
Cũng trong PS: ls env:để liệt kê tất cả các biến môi trường
George Mauer

2
Vì PowerShell hiện là lớp vỏ mặc định trong HĐH Windows hiện đại, nên điều này cần được bình chọn cao hơn. Có quá nhiều câu trả lời mà đơn giản là không còn hoạt động trên Windows hiện đại.
Lev

1
@Lev. Phiên bản nào bạn có mà không có cmd?
Nhà vật lý điên

vậy làm thế nào để hiển thị một biến nếu tên của nó chứa một dấu chấm? Thích artifactory.user.name? echo $Env:artifactory.user.namekhông hoạt động (đánh dấu gợi ý rằng nó cố gắng hiển thị artifactorybiến)
YakovL

21

Là một thông tin bổ sung: Mặc dù SET hoạt động với các biến toàn cục hoặc hệ thống, đôi khi bạn muốn viết và đọc các biến Người dùng và điều này được thực hiện bằng lệnh SETX . SETX được bao gồm trong các bản cài đặt cơ bản của Windows bắt đầu bằng Vista, nhưng cũng có sẵn trong Windows XP bằng cách cài đặt Gói tài nguyên.

Một điểm khác biệt về SETX là bạn không thể đọc biến trong cùng cửa sổ lệnh mà bạn đã viết. Bạn phải viết lệnh SETX trong một cửa sổ Command hoặc Powershell, sau đó mở một cửa sổ mới để đọc nó bằng ECHO.

SETX cũng có thể viết các biến toàn cục hoặc hệ thống.

Để đặt biến người dùng bằng SETX:

setx variable value

Để đặt biến toàn cục hoặc hệ thống bằng cách sử dụng SETX:

setx /m variable value

Để đọc một người dùng hoặc biến toàn cục:

Hãy nhớ rằng, bạn phải mở một cửa sổ Command hoặc Powershell mới để đọc biến này.

echo %variable%

8

Từ TẬP /?:

SET P

sẽ hiển thị tất cả các biến bắt đầu bằng chữ 'P'

Vì vậy, ví dụ nếu bạn muốn tìm giá trị của biến môi trường% PATH%, bạn chỉ cần gõ set path.

Đây là 3 ký tự ngắn hơn echo %PATH%, nhưng lưu ý rằng nó cũng liệt kê các biến khác bắt đầu bằng "đường dẫn" (ví dụ: PATHEXT).


3

Giải pháp này hơi khác một chút đối với tôi: nó sẽ không nhận ra biến môi trường hệ thống JAVA_HOME, vì vậy tôi phải đặt JAVA_HOMElà biến môi trường người dùng, để tôi có thể sử dụng% JAVA_HOME% trong thiết lập biến môi trường hệ thống.

Tiếp tục, tôi phải:

-add một biến môi trường người dùng: %JAVA_HOME%như:

"C:\Program Files\Java\jdk1.8.0_25";

-đi vào %PATH%biến môi trường hệ thống:

"%JAVA_HOME%\bin;"

-latter trên dòng lệnh:

echo %JAVA_HOME%và nó đã lấy đúng đường dẫn (trước khi nó không nhận ra); echo %PATH%và nó đã truy xuất "C: \ Program Files \ Java \ jdk1.8.0_25 \ bin" được tạo bằng biến người dùng% JAVA_HOME%;

Và nó đã làm việc cho tôi. Tôi hy vọng nó sẽ giúp !!


2

Để hiển thị nội dung của một biến môi trường, ví dụ. đường dẫn, tại loại dấu nhắc lệnh: echo %path%
Để hiển thị các giá trị trong các dòng riêng biệt, gõ: set
Để hiển thị tất cả các biến bắt đầu bằng "h", gõ: set h
(Nhấn enter sau khi gõ để nhận phản hồi của máy tính, duh!)

Các lệnh trên là cho cmd, không phải powershell. Trong powershell, gõ: echo $env:pathhoặc ls env:path
Để hiển thị trên các dòng riêng biệt, gõ: ls env:
Để hiển thị tất cả các biến bắt đầu bằng "h", gõ: ls env:h*
Để hiển thị nội dung / giá trị của tất cả các biến có chứa "java", gõ:ls env:*java*

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.