Bagaimana program yang tidak ada di jalur saya dijalankan? [duplikat]


57

Kemungkinan Duplikat:
Mengapa saya dapat menjalankan program yang tidak ada dalam variabel lingkungan PATH saya?

Saya mengajar rekan kerja tentang% PATH% dan menemukan bahwa jika saya menjalankan "Firefox", itu berfungsi, tetapi terkejut melihat bahwa itu tidak ada di jalur saya.

Apa yang saya lewatkan?


2
Itu tergantung pada konteksnya. Jika Anda memasukkan "firefox" dari baris perintah, maka firefox.exe harus berada di jalur atau di folder Windows atau Windows \ System32. Jika Anda memasukkan "Firefox" di dialog Run, registri App Paths digunakan, jadi firefox.exe terdaftar di sana.
— boot13

Terima kasih boot13, saya tidak mengetahui kunci registri App Paths.
— Mathew

Jawaban:


101

Jika Anda mencoba menjalankan executable dengan hanya menentukan namanya, Windows mencari file di lokasi berikut :

  1. Direktori kerja saat ini.
  2. Hanya Windowsdirektori (tidak ada subdirektori yang dicari).
  3. The Windows\System32direktori.
  4. Direktori yang tercantum dalam variabel lingkungan PATH.
  5. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths(juga HKEY_CURRENT_USERsejak Windows 7)

Microsoft sebenarnya merekomendasikan "mendaftarkan" aplikasi di App Pathssubkunci untuk menghindari kebutuhan aplikasi untuk memodifikasi PATHvariabel lingkungan sistem . Pemasang aplikasi akan mendaftarkan yang dapat dieksekusi.


3
Salah satu jawaban terbaik untuk pertanyaan yang pernah saya lihat. +1
— Everett

Itu dia, terima kasih pak. Pelajari sesuatu yang baru setiap hari.
— Mathew

8
@Mathew Sama-sama. Perlu diingat bahwa subkunci "Jalur Aplikasi" juga ada di sarang HKCU untuk aplikasi yang diinstal hanya untuk satu pengguna .
— JC2k8

1
Jadi itu sebabnya saya tidak pernah benar-benar muck sekitar dengan PATH sampai saya beralih dari pengembangan .NET ke pengembangan Java. Saya tidak pernah benar-benar mempertimbangkan mengapa segala sesuatu dalam pengembangan .NET "hanya bekerja"!
— Stephen Swensen

2
Ini hanya berlaku untuk dialog Windows Run, di cmd.exe dan hanya 1. yang digunakan untuk Powerhell, lihat juga komentar boot13.
— Alexander
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.