Cách sử dụng biến môi trường Windows CMD

Tác giả sysadmin, T.Hai 11, 2023, 02:27:59 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách sử dụng biến môi trường Windows CMD


Thật dễ dàng để thêm hoặc sửa đổi một biến môi trường bằng Command Prompt (CMD), nhưng việc xóa một biến thì phức tạp hơn nhiều. Dưới đây là một vài cách khác nhau bạn có thể làm điều đó.


1. Cách thêm hoặc sửa đổi biến môi trường

Trước tiên, bạn cần khởi chạy Command Prompt hoặc CMD với tư cách quản trị viên. Nhấp vào Bắt đầu, nhập "cmd" vào hộp tìm kiếm, sau đó nhấp vào "Chạy với tư cách Quản trị viên".


Lưu ý: Bất kỳ biến môi trường người dùng nào cũng có thể được đặt hoặc sửa đổi trong cửa sổ Dấu nhắc Lệnh thông thường, nhưng việc thay đổi các biến môi trường trên toàn hệ thống yêu cầu Dấu nhắc Lệnh nâng cao.

Có hai cách riêng biệt để đặt biến môi trường.

1.1. Đặt biến môi trường tạm thời

Cái đầu tiên sử dụng lệnh set. Set xác định riêng một biến môi trường trong quy trình mà nó đã được xác định — nói cách khác, biến đó chỉ hoạt động trong cửa sổ bạn mở hoặc tập lệnh chứa biến đó.

Đây là một ví dụ: Giả sử bạn muốn tạo một biến môi trường có tên là LifeAnswerVar và đặt giá trị thành 42. Lệnh sẽ là set LifeAnswerVar=42.

Khi cửa sổ đó đang mở, LifeAnswerVar sẽ có giá trị 42.


Khi đóng, biến môi trường và giá trị của nó sẽ bị xóa.


Phương pháp chính xác tương tự hoạt động nếu bạn muốn sửa đổi tạm thời một biến hệ thống Windows hiện có. Tất cả những gì bạn cần làm là thay biến hệ thống bạn muốn thay đổi thay cho LifeAnswerVar và giá trị bạn muốn chỉ định thay cho 42.

Ví dụ: nếu bạn muốn di chuyển thư mục TMP sang C:\Example Folder, bạn sẽ nhập lệnh set TMP=C:\"Example Folder".


Dòng đầu tiên, set TMP, hiển thị giá trị hiện tại của TMP. Dòng thứ hai gán cho TMP một giá trị mới. Dòng thứ ba xác nhận rằng nó đã thay đổi.

1.2. Đặt biến môi trường vĩnh viễn

Cách thứ hai sử dụng setx. Setx xác định vĩnh viễn các biến môi trường Windows. Chúng tồn tại giữa các cửa sổ và giữa các lần khởi động lại và được ghi vào Windows Registry. Các biến môi trường này có thể được xác định cho một người dùng cụ thể hoặc chúng có thể được xác định để sử dụng trên toàn hệ thống.

Lệnh setx ExVar1 Tomato /msẽ tạo một biến môi trường mới có tên ExVar1 và gán giá trị "Tomato" cho nó. Đối số /m chỉ định rằng biến mới phải áp dụng cho toàn hệ thống, không chỉ cho người dùng hiện tại.


Sử dụng chính xác lệnh tương tự để sửa đổi biến môi trường hiện có, thay thế ExVar1 cho tên của biến bạn muốn thay đổi.

Lưu ý: Nếu bạn sử dụng setx để sửa đổi một biến và đặt để xem giá trị của biến, thì set sẽ không hiển thị đúng giá trị cho đến khi cửa sổ Dấu nhắc Lệnh mới được mở.

Nếu bạn muốn thêm hoặc sửa đổi biến môi trường người dùng, chỉ cần bỏ qua đối số /m khỏi lệnh.

2. Cách xóa biến môi trường

Loại bỏ một biến môi trường khó hơn một chút so với việc thêm hoặc sửa đổi một biến.

Lưu ý: Giống như khi thêm biến, bất kỳ biến môi trường người dùng nào cũng có thể bị xóa trong cửa sổ Dấu nhắc Lệnh thông thường, nhưng việc xóa biến môi trường trên toàn hệ thống yêu cầu Dấu nhắc Lệnh nâng cao.

2.1. Loại bỏ biến môi trường tạm thời

Nếu bạn muốn tạm thời xóa biến môi trường cho quy trình hiện tại, chẳng hạn như tập lệnh, cửa sổ PowerShell hoặc cửa sổ Dấu nhắc Lệnh, bạn có thể sử dụng lệnh set. Tất cả những gì bạn cần làm là không gán giá trị nào cho biến.

Ví dụ: điều gì sẽ xảy ra nếu bạn có định nghĩa biến ExVar1=Tomatotrong các biến môi trường toàn hệ thống, nhưng muốn bỏ qua nó cho một quy trình cụ thể? Bạn có thể nhập set ExVar1=  vào Dấu nhắc Lệnh hoặc đưa dòng đó vào tập lệnh của mình. Biến sẽ được đặt thành không có gì trong khi tập lệnh thực thi hoặc cho đến khi bạn mở cửa sổ Dấu nhắc Lệnh mới.


2.2. Xóa vĩnh viễn một biến môi trường

Việc xóa vĩnh viễn một biến môi trường phức tạp hơn một chút — bạn phải sử dụng regđể thực hiện.

Cảnh báo: Reg là phiên bản dòng lệnh của Registry Editor. Bạn nên tiến hành một cách thận trọng — một lỗi đánh máy có thể dẫn đến việc bạn vô tình xóa một số nội dung quan trọng. Việc sao lưu phần sổ đăng ký mà bạn đang chỉnh sửa cũng không bao giờ gây khó khăn.

Các biến môi trường cho người dùng cá nhân được lưu trữ trong tệp HKEY_CURRENT_USER\Environment. Các biến môi trường toàn hệ thống được lưu trữ ở nơi khác, trong HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.

Hãy sử dụng ExVar1=Tomatoví dụ. Biến môi trường ExVar1 được xác định trên toàn hệ thống, có nghĩa là nó nằm trong thư mục HKEY_LOCAL_MACHINE chứ không phải thư mục HKEY_CURRENT_USER. Cụ thể, đường dẫn đến khóa con là:

Mã nguồn [Chọn]
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ExVar1
Lưu ý: Đường dẫn này chứa một khoảng trắng. Bất cứ khi nào có khoảng trống trong đường dẫn được nhập trong giao diện dòng lệnh, bạn phải sử dụng dấu ngoặc kép xung quanh đường dẫn, nếu không, rất có thể nó sẽ không thực thi chính xác.

Bây giờ chúng ta cần sử dụng reg deletelệnh để loại bỏ nó. Hãy nhớ rằng bạn sẽ cần thay thế tên biến của mình cho ExVar1 trong lệnh bên dưới.

Mã nguồn [Chọn]
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\" /f /v ExVar1
Có rất nhiều ở đó, vì vậy hãy phá vỡ nó một chút.

  • xóa reg — xác định ứng dụng (reg) và lệnh (xóa) chúng tôi đang sử dụng
  • "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\"- Nói cho reg xóa nơi tìm khóa
  • /f — Yêu cầu reg delete xóa khóa mà không cần nhắc xác nhận
  • /v — Nói với reg delete rằng nó sẽ được cung cấp một khóa con cụ thể để xóa
  • ExVar1 — Tên của khóa con chúng tôi muốn xóa

Việc xóa một biến môi trường cho một người dùng riêng lẻ hoàn toàn giống với việc xóa một biến toàn hệ thống, ngoại trừ đường dẫn sẽ khác. Nếu ExVar1 là biến môi trường người dùng, lệnh xóa nó sẽ là:

Mã nguồn [Chọn]
reg delete HKEY_CURRENT_USER\Environment /f /v ExVar1
Nếu lệnh xóa biến môi trường thành công, bạn sẽ thấy "Thao tác đã hoàn tất thành công" trong Dấu nhắc Lệnh.


Bất cứ khi nào bạn xóa một biến môi trường như thế này, bạn cần khởi động lại explorer.exe. Bạn có thể khởi động lại Explorer.exe theo cách thủ công hoặc đơn giản là bạn có thể khởi động lại toàn bộ máy tính của mình. Cả hai sẽ hoạt động và các thay đổi sẽ có hiệu lực ngay sau khi khởi động lại.