it-swarm-id.com

Menambahkan direktori ke Variabel Lingkungan PATH di Windows

Saya mencoba menambahkan C:\xampp\php ke sistem saya PATH variabel lingkungan di Windows.

Saya sudah menambahkannya menggunakan kotak dialog Environment Variables.

Tetapi ketika saya mengetik di konsol saya:

C:\>path

itu tidak menampilkan direktori C:\xampp\php baru:

PATH=D:\Program Files\Autodesk\Maya2008\bin;C:\Ruby192\bin;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\PROGRA~1\DISKEE~2\DISKEE~1\;c:\Program Files\Microsoft SQL
Server\90\Tools\binn\;C:\Program Files\QuickTime\QTSystem\;D:\Program Files\TortoiseSVN\bin
;D:\Program Files\Bazaar;C:\Program Files\Android\android-sdk\tools;D:\Program Files\
Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common
\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;D:\Program Files\
Microsoft Visual Studio\VC98\bin

Saya punya dua pertanyaan:

  1. Kenapa ini terjadi? Apakah ada sesuatu yang saya lakukan salah?
  2. Juga, bagaimana cara menambahkan direktori ke variabel PATH saya menggunakan konsol (dan secara terprogram, dengan file batch)?
433
Mp de la Vega

Ini hanya mengubah registri. Proses yang ada tidak akan menggunakan nilai-nilai ini. Proses baru akan melakukannya jika dimulai setelah perubahan ini dan tidak mewarisi lingkungan lama dari induknya.

Anda tidak menentukan bagaimana Anda memulai sesi konsol. Cara terbaik untuk memastikan ini adalah keluar dari perintah Shell dan jalankan lagi. Maka harus mewarisi PATH yang diperbarui.

120
Hans Passant

Pilihan 1

Setelah Anda mengubah PATH dengan GUI, tutup dan buka kembali jendela konsol.

Ini berfungsi karena hanya program yang dimulai setelah perubahan yang akan melihat PATH baru.

Pilihan 2

Jalankan perintah ini di jendela perintah yang telah Anda buka:

set PATH=%PATH%;C:\your\path\here\

Perintah ini menambahkan C:\your\path\here\ ke PATH saat ini.

Hancurkan:

  • set - Perintah yang mengubah variabel lingkungan cmd hanya untuk sesi cmd saat ini; program lain dan sistem tidak terpengaruh.
  • PATH= - Menunjukkan bahwa PATH adalah variabel lingkungan yang akan diubah sementara.
  • %PATH%;C:\your\path\here\ - Bagian %PATH% meluas ke nilai saat ini dari PATH, dan ;C:\your\path\here\ kemudian disatukan dengannya. Ini menjadi PATH baru.
847
JimR

PERINGATAN: Solusi ini mungkin merusak untuk PATH Anda, dan stabilitas sistem Anda. Sebagai efek samping, itu akan menggabungkan pengguna dan sistem PATH, dan memotong PATH menjadi 1024 karakter. Efek dari perintah ini tidak dapat diubah. Buat cadangan PATH terlebih dahulu. Lihat komentar untuk informasi lebih lanjut.

Jangan menyalin dan menempelkan ini dengan membabi buta. Gunakan dengan hati-hati.

Anda dapat secara permanen menambahkan path ke PATH dengan perintah setx ::

setx /M path "%path%;C:\your\path\here\"

Hapus flag /M jika Anda ingin mengatur pengguna PATH alih-alih sistem PATH.

Catatan:

  • Perintah setx hanya tersedia di Windows 7 dan yang lebih baru.
  • Anda harus menjalankan perintah ini dari Prompt perintah tinggi.

  • Jika Anda hanya ingin mengubahnya untuk sesi saat ini, gunakan set .

169
Nafscript

Anda tidak memerlukan perintah set atau setx, cukup buka terminal dan ketik:

PATH

Ini menunjukkan nilai variabel PATH saat ini. Sekarang Anda ingin menambahkan direktori ke dalamnya? Cukup ketik:

PATH %PATH%;C:\xampp\php

Jika karena alasan apa pun Anda ingin menghapus variabel PATH (tidak ada jalur sama sekali atau menghapus semua jalur di dalamnya), ketik:

PATH ;

Perbarui

Seperti Danial Wilson yang dicatat dalam komentar di bawah, itu menetapkan jalur hanya di sesi saat ini. Untuk mengatur path secara permanen gunakan setx tetapi waspada, meskipun itu menetapkan path secara permanen tetapi TIDAK dalam sesi saat ini, jadi Anda harus memulai baris perintah baru untuk melihat perubahan, info lebih lanjut di sini .

Untuk memeriksa apakah variabel lingkungan ada atau lihat nilainya gunakan commnad ECHO:

echo %YOUR_ENV_VARIABLE%
56
zar

Di zaman PowerShell ini, saya akan mengedit PATH seperti ini:

$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path")

Untuk mengatur variabel untuk semua pengguna, di seluruh mesin, baris terakhir harus seperti:

[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")

Dalam skrip PowerShell, Anda mungkin ingin memeriksa keberadaan C:\xampp\php Anda sebelum menambahkan ke PATH (jika sebelumnya telah ditambahkan). Anda dapat membungkusnya dalam kondisional if

Jadi menyatukan semuanya:

$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
if( $PATH -notlike "*"+$xampp_path+"*" ){
    [Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
}
32
Ifedi Okonkwo

Terlambat ke pesta - tetapi berguna jika Anda sudah berada di direktori yang ingin Anda tambahkan ke PATH.

set PATH=%PATH%;%CD%

sunting: sesuai komentar - berfungsi dengan cmd windows standar tetapi tidak di PowerShell.

Untuk powershell, padanan %CD% adalah [System.Environment]::CurrentDirectory

23
nclord

Bagaimana jika Anda salah mengetik jalur menggunakan setx? Cara terbaik adalah cukup melalui windows U.I. Panel Kontrol-> Semua Item Panel Kontrol-> Sistem-> Penyelesaian Sistem Lanjut-> Variabel Lingkungan

Gulir ke bawah ke Path dan pilih Edit. Anda juga dapat menyalin dan menempelkannya ke editor favorit Anda sehingga Anda dapat melihat seluruh jalur dan lebih mudah mengeditnya.

19
Thomas Fonseca
  • perubahan baris perintah tidak akan permanen, akan hilang ketika konsol ditutup.
  • Path berfungsi seperti first come first served. 
  • Anda mungkin ingin mengganti executable lain yang sudah termasuk. Misalnya jika Anda sudah memiliki versi lain di jalur Anda dan Anda ingin menambahkan versi lain tanpa membuat perubahan permanen di jalur Anda harus meletakkan direktori di awal perintah.

Untuk mengganti yang sudah termasuk executable; 

atur PATH = C:\xampp\php;% PATH%;

3
hevi

Selain semua jawaban, jika Anda ingin alat Nice GUI untuk mengedit variabel lingkungan windows Anda dapat menggunakan Editor Lingkungan Cepat

cobalah! itu aman untuk digunakan dan luar biasa!

http://www.rapidee.com/en/

2
Mp de la Vega

Memeriksa saran di atas pada Windows 10 LTSB, dan dengan sekilas pada garis "bantuan" (yang dapat dilihat saat mengetik 'perintah /?' Pada cmd), membawa saya ke kesimpulan .__ bahwa perintah PATH mengubah variabel lingkungan sistem Nilai jalur hanya untuk sesi saat ini, tetapi setelah reboot semua nilai diatur ulang ke default-sama seperti sebelum menggunakan perintah PATH.

Di sisi lain, menggunakan perintah SETX dengan hak administratif jauh lebih kuat, ia mengubah nilai-nilai itu untuk selamanya (atau setidaknya sampai waktu berikutnya perintah ini digunakan atau sampai waktu berikutnya nilai-nilai itu dimanipulasi secara manual GUI ...).

Tetapi demi kejelasan saya berpikir bahwa berbagi di sini penggunaan sintaks SETX terbaik Yang bekerja untuk saya mungkin membantu seseorang suatu hari:

SETX PATH "%PATH%;C:\path\to\where\the\command\resides"

di mana tanda sama dengan '=' harus dihindari, dan jangan khawatir tentang spasi! tidak perlu memasukkan tanda kutip lagi untuk jalur yang berisi spasi di dalamnya- tanda perpecahan ';' lakukan pekerjaan.

Kata kunci PATH yang mengikuti SETX menentukan set nilai mana yang harus diubah di antara nilai-nilai yang mungkin untuk System Environment Variabel, dan% PATH% (PATH Word dikelilingi oleh tanda persen) di dalam tanda kutip, memberitahu OS untuk meninggalkan yang sudah ada Nilai PATH sebagaimana adanya dan tambahkan path berikut (yang mengikuti tanda split ';') ke nilai yang ada.

HTH

1
such_ke_nasdeeq

Mengenai poin 2 Saya menggunakan file batch sederhana yang mengisi PATH atau variabel lingkungan lainnya untuk saya. Oleh karena itu, tidak ada polusi variabel lingkungan secara default. File batch ini dapat diakses dari mana saja sehingga saya dapat mengetik:

c:\>mybatchfile
-- here all env. are available
c:\>php file.php
1
Grzegorz Gajos

Dalam Prompt perintah, Anda memberi tahu Cmd untuk menggunakan baris perintah Explorer dengan membukanya dengan start.

Jadi start Yourbatchname.

Catatan Anda harus mendaftar seolah-olah namanya batchfile.exe.

Program dan dokumen dapat ditambahkan ke dalam registri sehingga mengetik namanya tanpa jalurnya di kotak dialog Start-Run atau pintasan memungkinkan Windows untuk menemukannya.

Ini adalah file reg generik. Salin baris di bawah ini ke Dokumen Teks baru dan simpan sebagai anyname.reg. Edit dengan program atau dokumen Anda.

Di jalur gunakan\untuk memisahkan nama folder di jalur kunci sebagai regedit menggunakan satu\untuk memisahkan nama kunci itu. Semua file reg mulai dengan REGEDIT4. Tanda titik koma mengubah garis menjadi komentar. Simbol @ berarti untuk menetapkan nilai pada kunci daripada nilai yang disebutkan.

File tidak harus ada. Ini dapat digunakan untuk mengatur Word.exe untuk membuka Winword.exe.

Mengetik start batchfile akan mulai iexplore.exe.

REGEDIT4
;The bolded name below is the name of the document or program, <filename>.<file extension> 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Batchfile.exe]

;The @ means the path to the file is assigned to the default value for the key.
;The whole path in enclosed in a quotation mark ".

@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""

;Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry

;Informs the Shell that the program accepts URLs.

;"useURL"="1"

;Sets the path that a program will use as its' default directory. This is commented out.

;"Path"="C:\\Program Files\\Microsoft Office\\Office\\"

Anda telah diberi tahu tentang path pada jawaban lain. Juga lihat doskey /? untuk makro cmd (mereka hanya bekerja saat mengetik).

Anda dapat menjalankan perintah startup untuk CMD. Dari Referensi Teknis Kit Sumber Daya Windows

AutoRun  

HKCU\Software\Microsoft\Command Processor 

Data type Range Default value 
REG_SZ  list of commands  There is no default value for this entry.  

Keterangan

Berisi perintah yang dijalankan setiap kali Anda memulai Cmd.exe.

0
user6017774

gunakan pathed dari gtools

itu melakukan hal-hal dengan cara yang intuitif misalnya:

pathed /REMOVE "c:\my\folder"
pathed /APPEND "c:\my\folder"

dan tunjukkan hasil tanpa perlu menelurkan cmd baru !

0
womd

Alternatif yang lebih baik untuk Control Panel adalah dengan menggunakan program freeware ini dari sourceforge yang disebut Pathenator:

https://sourceforge.net/projects/pathenator/

Namun, itu hanya pekerja untuk sistem yang memiliki Dot.Net 4.0 atau lebih besar seperti windows 7,8, atau 10.

0
Bill Moore

Jika Anda menjalankan perintah cmd, itu akan memperbarui semua variabel sistem untuk jendela perintah itu.

0
RBXII3