thêm PATH với SETX hoặc PATHMAN hoặc cái gì khác?


12

Tôi đang cố gắng thêm một PATH từ dòng lệnh, như với SETX% PATH% ... nó luôn mở rộng PATH mà tôi không muốn.

PATHMAN chính xác cho mục đích này, nhưng nó không hoạt động với tôi trên Windows 7. Nó đóng băng hầu hết thời gian và nó không kiểm tra trùng lặp.

Phải có một công cụ để quản lý các biến PATH theo cách thích hợp. SETX sẽ hoàn hảo, nhưng có thể không phải với cú pháp% PATH%.

Câu trả lời:


13

Xem bài viết Chỉnh sửa biến môi trường PATH trong Windows mà không bị đau .

Nó khuyến cáo sử dụng pathed :

Ví dụ: giả sử bạn có các công cụ Sysiternal của mình trong C: \ Bin \ Sysiternals và bạn muốn thêm chúng vào PATH. Đơn giản chỉ cần làm:

pathed /append C:\Bin\Sysinternals /machine

Thay vào đó, nếu bạn muốn thêm chúng vào hệ thống PATH của người dùng, hãy thực hiện:

pathed /append C:\Bin\Sysinternals /user

Điều này thật đúng với gì mà tôi đã tìm kiếm! Từ bài viết, tôi đã thử 3 giải pháp khác mà không có hạnh phúc. Có vẻ như đây là người tôi đang tìm kiếm. Hoạt động hoàn hảo! BTW, nó không liên quan gì đến Sysiternals.
hyperjack

Điều này được cho là hoạt động nhưng nó có một lỗi thiết yếu, nếu bạn cố gắng THÊM / ỨNG DỤNG một cái gì đó vào đường dẫn người dùng và đường dẫn người dùng không được xác định, tiện ích sẽ không thể thêm đường dẫn.
sorin

1
Tôi chỉ thử ứng dụng này; thật là bực bội vì nó dường như không hoạt động. Tôi nhận ra rằng tôi phải chạy nó trong khi đăng nhập với tư cách Quản trị viên, HOẶC chạy nó trong trình vỏ lệnh được bắt đầu bằng "Chạy với tư cách Quản trị viên". Ngoài ra, bạn có thể cần sử dụng phân loại "/ máy" nếu bạn muốn ảnh hưởng đến đường dẫn cấp độ máy. Chúc may mắn! Và cảm ơn @harrymc cho tiền boa; +1 từ tôi!
Dân H

FWIW, có một tiện ích "đường dẫn" khác được xuất bản trên code.google.com dường như hoạt động khá giống với cú pháp hơi khác.
syirecton-dj

4

(Tôi biết rằng bạn đã trả lời câu hỏi này, nhưng)

Vấn đề với việc sử dụng của setxbạn là bạn không trích dẫn chuỗi mà bạn muốn được đặt. Bởi vì ;ký tự là một dấu phân cách lệnh (bạn có thể xâu chuỗi các lệnh sẽ được chạy liên tiếp với nó), nó nghĩ rằng bạn đang thiết lập đường dẫn và sau đó chạy một lệnh khác.

Những gì bạn nên làm là đây:

setx /M path "C:\perl\bin;%path%"

Điều này chuẩn bị cho %path%biến của tôi với C:\perl\bin, bởi vì tôi muốn nó đến trước bất kỳ thứ gì khác có thể được cài đặt. Ý /Mtôi là System EnvVar chứ không phải người dùng.


2
Nó sẽ cắt các đường dẫn dài hơn 1024
wayofthefuture

1

Có ba phương thức mà tôi biết trong đó một phương thức là vĩnh viễn (khi thêm vào các biến môi trường) và 2 r temp khác .. chỉ để thiết lập đường dẫn và do đó, đường dẫn được đặt bởi chúng bị hủy sau khi cmd bị chấm dứt (đóng). Bắt đầu với các phương pháp: -

  1. Phương pháp tạm thời 1: -

    setx PATH "% PATH%; c: \ tên đường dẫn;"

  2. Phương pháp tạm thời 2: -

    đặt PATH = c: \ tên đường dẫn;% PATH%

  3. Phương pháp vĩnh viễn: -

    pathed / append c: \ path name / machine (cho tất cả người dùng) pathed / append c: \ path name / user (cho người dùng hiện tại)


0

Trong Windows 10 x64 1909 (và có thể là các bản dựng trước đó), hãy sử dụng tính năng Start Menu Search với "set biến" để tìm và chạy một trong các kết quả được trả về sau để truy cập trình chỉnh sửa đồ họa đã sửa đổi của MS bằng cách chọn nút [Biến môi trường]: - Chỉnh sửa biến môi trường hệ thống - Chỉnh sửa biến môi trường cho tài khoản của bạn

Trình chỉnh sửa cũng có thể truy cập thông qua nút [Biến môi trường] trên hộp thoại Thuộc tính hệ thống cũ.

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.