Câu hỏi Hằng số của chương trình


Cmd.exe có SET lệnh liệt kê tất cả các hằng số "%", ví dụ %USERNAME% , %ProgramFiles% hoặc là %CUSTOMDEFINEDCONSTANT%. Tuy nhiên, sau khi phát hành START firefox  trình duyệt của tôi ngay lập tức xuất hiện, mặc dù không phải firefox cũng không %firefox% đã được đề cập!

     Tại sao có hai loại hằng số? Đối với tôi, "hằng số của chương trình" (rằng tôi đã thô lỗ và dễ dàng gọi nó) dường như là dư thừa cho đến nay bởi vì START% programName% sẽ là đủ, phải không? Tôi cũng hỏi về đối tác của SET lệnh cho loại hằng số kỳ lạ này.

Câu hỏi là tiểu học, nhưng tôi quyết định hỏi về nó ở đây do thiếu tọa độ tìm kiếm hoặc từ khóa.


2
2017-07-21 20:21


gốc


Những người đang có Environment Variables. Cũng tìm kiếm PATH, đó cũng là biến môi trường và giải thích lý do bạn có thể làm START firefox. - fmanco
@criziot PATH | FINDSTR firefox không có kết quả. - 0x6B6F77616C74
PATH có một danh sách các thư mục chứa các tệp nhị phân. Khi bạn cố gắng thực hiện một nhị phân cmd sẽ tìm kiếm nó trong các thư mục được chỉ định trong PATH. Vì thế firefox không có trong PATH, nhưng thư mục chứa firefox nhị phân phải là. Bạn cũng nên làm echo $PATH để xem PATH. - fmanco
> Ngoài ra bạn nên làm echo $ PATH để xem PATH.   Bạn đang nghĩ đến PowerShell; OP đang sử dụng cmd nơi thực sự có một lệnh gọi là path hiển thị hoặc đặt đường dẫn. - Synetech
@Synetech Tôi không phải là người dùng Windows nên tôi không biết điều đó. Cảm ơn bạn đã sửa chữa. - fmanco


Các câu trả lời:


Tôi tin rằng, trong số những thứ khác, nó trông trong khóa đăng ký này cho tên thực thi:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Phím này cho phép ứng dụng đăng ký chính nó để thực thi mà không sửa đổi biến PATH. MSDN có thêm thông tin về đăng ký ứng dụng.


4
2017-07-21 21:21