Lệnh setx trong Windows

Lệnh setx giúp tạo lập hoặc sửa đổi các biến môi trường trong môi trường người dùng hoặc hệ thống, mà không yêu cầu lập trình hoặc viết kịch bản. Lệnh Setx cũng sẽ lấy giá trị của các key registry và ghi chúng vào các tệp văn bản. Để hiểu hơn cách sử dụng lệnh này, xem mục ví dụ bên dưới.

Cú pháp lệnh setx

setx [/s <Computer> [/u [<Domain>\]<User name> [/p [<Password>]]]] <Variable> <Value> [/m]
setx [/s <Computer> [/u [<Domain>\]<User name> [/p [<Password>]]]] [<Variable>] /k <Path> [/m]
setx [/s <Computer> [/u [<Domain>\]<User name> [/p [<Password>]]]] /f <FileName> {[<Variable>] {/a <X>,<Y> | /r <X>,<Y> "<String>"} [/m] | /x} [/d <Delimiters>]

Tham số lệnh setx

Tham số

Mô tả

/s <Computer>

Chỉ định tên hoặc địa chỉ IP của máy tính từ xa. Không sử dụng dấu gạch chéo ngược trong tham số này. Giá trị mặc định sẽ là tên của máy tính cục bộ.

/u [<Domain>]

Chạy tập lệnh với thông tin đăng nhập của tài khoản người dùng được chỉ định. Giá trị mặc định sẽ là các quyền hệ thống.

/p [<Password>]

Chỉ định mật khẩu của tài khoản người dùng được chỉ định trong tham số /u.

<Variable>

Chỉ định tên của biến môi trường mà bạn muốn đặt.

<Value>

Chỉ định giá trị mà bạn muốn đặt biến môi trường.

/k <Path>

Chỉ định rằng biến được đặt dựa trên thông tin từ key registry, tham số Path sẽ sử dụng cú pháp sau:

\\<HIVE>\<KEY>\...\<Value>

.Ví dụ: bạn có thể chỉ định đường dẫn sau:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\

Control\TimeZoneInformation\StandardName

/f <File name>

Chỉ định tệp mà bạn muốn sử dụng.

/a <X>,

Chỉ định tọa độ tuyệt đối và khoảng thừa trống làm tham số tìm kiếm.

/r <X>, ""

Chỉ định tọa độ tương đối và khoảng thừa trống (String) làm tham số tìm kiếm.

/m

Chỉ định đặt biến trong môi trường hệ thống. Cài đặt mặc định sẽ là môi trường cục bộ.

/x

Hiển thị tọa độ tệp, bỏ qua các tùy chọn dòng lệnh /a, /r và /d.

/d <Delimiters>

Chỉ định các dấu phân cách như "," hoặc "\" sẽ được sử dụng cùng với bốn dấu phân cách tích hợp - SPACE, TAB, ENTER và LINEFEED. Các dấu phân cách hợp lệ bao gồm bất kỳ các ký tự ASCII nào. Số lượng dấu phân cách tối đa là 15, bao gồm các dấu phân cách tích hợp.

/?

Hiển thị trợ giúp tại command prompt.

Chú giải lệnh setx

  • Lệnh setx cũng tương tự như tiện ích UNIX SETENV.
  • Lệnh setx chỉ cung cấp dòng lệnh hoặc cách thức lập trình duy nhất để đặt trực tiếp và vĩnh viễn các giá trị môi trường của hệ thống. Các biến môi trường hệ thống có thể được cấu hình thủ công thông qua Control Panel hoặc thông qua trình chỉnh sửa registry. Lệnh set - một thành phần nội bộ của trình thông dịch lệnh (Cmd.exe) sẽ chỉ đặt các biến môi trường người dùng cho cửa sổ giao diện điều khiển hiện tại.
  • Bạn có thể sử dụng lệnh setx để đặt giá trị cho các biến môi trường của hệ thống và của người dùng từ một trong ba nguồn (chế độ): Chế độ dòng lệnh, chế độ đăng ký hoặc chế độ tệp (Command Line Mode, Registry Mode, hoặc File Mode).
  • Lệnh setx sẽ ghi các biến vào môi trường chính vào trong registry. Các biến được đặt với setx chỉ có sẵn trong các cửa sổ lệnh trong tương lai, không có trong cửa sổ lệnh hiện tại.
  • HKEY_CURRENT_USER và HKEY_LOCAL_MACHINE là những hive duy nhất được hỗ trợ. REG_DWORD, REG_EXPAND_SZ, REG_SZ và REG_MULTI_SZ là các loại dữ liệu RegKey hợp lệ.
  • Khi bạn có quyền truy cập vào các giá trị REG_MULTI_SZ trong registry, sẽ chỉ có mục đầu tiên được trích xuất và sử dụng.
  • Bạn không thể sử dụng lệnh setx để xóa các giá trị đã được thêm vào môi trường cục bộ hoặc hệ thống. Bạn có thể sử dụng tập hợp với một tên biến và không có giá trị để loại bỏ một giá trị tương ứng khỏi môi trường cục bộ.
  • Các giá trị registry REG_DWORD sẽ được trích xuất và sử dụng ở chế độ thập lục phân.
  • Chế độ tệp chỉ hỗ trợ phân tích cú pháp tệp văn bản trả về và nguồn cấp dữ liệu (CRLF).

Ví dụ lệnh setx

Để đặt biến môi trường có tên MACHINE trong môi trường cục bộ thành giá trị Brand1, hãy nhập:

setx MACHINE Brand1

Để đặt biến môi trường có tên MACHINE trong môi trường hệ thống thành giá trị Brand1 Computer, hãy nhập:

setx MACHINE "Brand1 Computer" /m

Để đặt biến môi trường có tên MYPATH trong môi trường cục bộ sử dụng đường dẫn tìm kiếm được xác định trong biến môi trường PATH, hãy nhập:

setx MYPATH %PATH%

Để đặt biến môi trường có tên MYPATH trong môi trường cục bộ, hãy sử dụng đường dẫn tìm kiếm được xác định trong biến môi trường PATH sau khi thay thế ~ bằng %, hãy gõ:

setx MYPATH ~PATH~

Để đặt biến môi trường có tên MACHINE trong môi trường cục bộ thành Brand1 trên máy tính từ xa có tên Computer1, hãy gõ:

setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1

Để đặt biến môi trường có tên MYPATH trong môi trường cục bộ, sử dụng đường dẫn tìm kiếm được xác định trong biến môi trường PATH trên máy tính từ xa có tên Computer1, hãy gõ:

setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%

Để đặt biến môi trường có tên TZONE trong môi trường cục bộ thành giá trị được tìm thấy trong key registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\

TimeZoneIn information\StandardName, hãy gõ:

setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Để đặt biến môi trường có tên TZONE trong môi trường cục bộ của máy tính từ xa có tên Computer1 thành giá trị được tìm thấy trong key registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\

TimeZoneInform\StandardName, hãy gõ:

setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Để đặt biến môi trường có tên BUILD trong môi trường hệ thống thành giá trị được tìm thấy trong key registry HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\

CurrentBuildNumber, hãy nhập:

setx BUILD /k "HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber" /m

Để đặt biến môi trường có tên BUILD trong môi trường hệ thống của máy tính từ xa có tên Computer1 thành giá trị được tìm thấy trong key registry HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\

CurrentVersion\CurrentBuildNumber, hãy gõ:

setx /s computer1 /u maindom\hiropln /p p@ssW23 BUILD /k "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber" /m

Để hiển thị nội dung của tệp có tên Ipconfig.out, cùng với tọa độ tương ứng của nội dung, hãy nhập:

setx /f ipconfig.out /x

Để đặt biến môi trường có tên IPADDR trong môi trường cục bộ thành giá trị được tìm thấy tại tọa độ 5,11 trong tệp Ipconfig.out, hãy gõ:

setx IPADDR /f ipconfig.out /a 5,11

Để đặt biến môi trường có tên OCTET1 trong môi trường cục bộ thành giá trị được tìm thấy tại tọa độ 5,3 trong tệp Ipconfig.out với các dấu phân cách "# $ *.", hãy gõ:

setx OCTET1 /f ipconfig.out /a 5,3 /d "#$*."

Để đặt biến môi trường có tên IPGATEWAY trong môi trường cục bộ thành giá trị được tìm thấy tại tọa độ 0,7 đối với tọa độ của "Gateway" trong tệp Ipconfig.out, hãy nhập:

setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway

Để hiển thị nội dung của tệp có tên Ipconfig.out - cùng với tọa độ tương ứng của nội dung - trên máy tính có tên Computer1, nhập:

setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x

Xem thêm:

Thứ Ba, 01/01/2019 15:38
52 👨 126