Saya mencoba untuk menambahkan C:\xampp\php
untuk sistem saya PATH
variabel lingkungan di Windows.
Saya sudah menambahkan ini menggunakan Variabel Lingkungan kotak dialog.
Tapi ketika saya ketik di konsol saya:
C:\>path
itu doesn't show baru C:\xampp\php
direktori:
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:
PATH
variabel menggunakan konsol (dan pemrograman, dengan batch file)?Setelah anda mengubah PATH
dengan GUI, tutup dan buka kembali jendela konsol.
Ini bekerja karena hanya program dimulai setelah perubahan akan melihat baru PATH
.
Jalankan perintah ini di command window yang anda buka:
set PATH=%PATH%;C:\your\path\here\
Perintah ini menambahkan C:\your\path\here\
untuk saat ini JALAN
.
Breaking it down:
set
– perintah bahwa perubahan cmd's variabel lingkungan hanya untuk saat ini cmd sesi; program lain dan sistem tidak akan terpengaruh.PATH=
– Menandakan bahwa JALAN
adalah variabel lingkungan untuk sementara berubah.%PATH%;C:\your\path\here\
– The %PATH%
bagian untuk memperluas nilai saat ini dari JALAN
, dan ;C:\your\path\here\
kemudian bersambung ke hal. Ini menjadi JALAN
.PERINGATAN: solusi Ini dapat merusak untuk JALAN anda, dan stabilitas sistem anda. Sebagai efek samping, itu akan menggabungkan pengguna dan sistem JALAN, dan memotong JALAN 1024 karakter. Efek dari perintah ini adalah ireversibel. Membuat cadangan dari JALUR pertama. Melihat komentar untuk informasi lebih lanjut.
Don't membabi buta copy-dan-paste ini. Gunakan dengan hati-hati.
Anda dapat permanen menambahkan sebuah jalan untuk JALAN
dengan setx
perintah:
setx /M path "%path%;C:\your\path\here\"
Menghapus /M
bendera jika anda ingin mengatur user PATH
bukan sistem JALAN
.
Catatan:
The setx
perintah ini hanya tersedia di Windows 7 dan kemudian.
Anda harus menjalankan perintah ini dari command prompt.
Jika anda hanya ingin mengubah itu untuk sesi saat ini, gunakan set.
Ini hanya memodifikasi registri. Ada proses yang tidak't menggunakan nilai-nilai ini. Proses baru akan melakukannya jika itu dimulai setelah perubahan dan doesn't mewarisi lingkungan tua dari induknya.
Anda tidak't menentukan bagaimana anda memulai sesi konsol. Cara terbaik untuk memastikan hal ini adalah untuk keluar dari command shell dan jalankan lagi. Maka harus mewarisi diperbarui JALAN.
Anda don't perlu set
atau setx
perintah, cukup buka terminal dan ketik:
PATH
Hal ini menunjukkan saat ini nilai dari variabel PATH. Sekarang anda ingin menambahkan direktori untuk itu? Cukup ketik:
PATH %PATH%;C:\xampp\php
Jika untuk alasan apapun anda ingin menghapus variabel PATH (tidak ada jalan sama sekali atau menghapus semua jalur di dalamnya), ketik:
PATH ;
Update
Seperti Danial Wilson dicatat dalam komentar di bawah ini, menetapkan jalan satu-satunya dalam sesi saat ini. Untuk mengatur jalan secara permanen menggunakan setx
tetapi harus menyadari, meskipun yang menetapkan jalan secara permanen tapi TIDAK dalam sesi saat ini, sehingga anda harus memulai baris perintah baru untuk melihat perubahan, info lebih lanjut di sini.
Untuk memeriksa apakah sebuah variabel lingkungan yang ada atau melihat nilainya menggunakan ECHO commnad:
echo %YOUR_ENV_VARIABLE%
Saya akan menggunakan PowerShell sebagai gantinya!
Untuk menambahkan sebuah direktori dengan PATH menggunakan PowerShell, lakukan hal berikut:
$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path")
Untuk mengatur variabel untuk semua pengguna, mesin, baris terakhir harus menjadi seperti:
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
Di script PowerShell, anda mungkin ingin memeriksa kehadiran anda C:\xampp\php
sebelum menambahkan ke JALAN (dalam kasus ini sebelumnya telah ditambahkan). Anda dapat membungkusnya dalam sebuah jika
bersyarat.
Jadi menempatkan itu semua bersama-sama:
$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
if( $PATH -notlike "*"+$xampp_path+"*" ){
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
}
Lebih baik lagi, yang bisa membuat fungsi generik. Hanya menyediakan direktori yang ingin anda tambahkan:
function AddTo-Path{
param(
[string]$Dir
)
if( !(Test-Path $Dir) ){
Write-warning "Supplied directory was not found!"
return
}
$PATH = [Environment]::GetEnvironmentVariable("PATH")
if( $PATH -notlike "*"+$Dir+"*" ){
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$Dir", "Machine")
}
}
Anda bisa membuat hal-hal yang lebih baik dengan melakukan beberapa polishing. Misalnya, menggunakan Test-Jalan
untuk mengkonfirmasi bahwa anda benar-benar ada.
Mengangguk untuk semua komentar pada @Nafscript's awal SETX
jawaban.
SETX
secara default akan memperbarui anda pengguna path.SETX ... /M
akan memperbarui anda sistem path.%PATH%
berisi sistem jalan dengan pengguna jalan ditambahkanPATH
- SETX
akan memotong junk lagi dari 1024 karakterSETX %PATH%;xxx
- menambah sistem jalan ke pengguna jalanSETX %PATH%;xxx /, M
- menambah pengguna jalan ke jalur sistemThe ss64 SETX halaman memiliki beberapa contoh yang sangat baik. Penting itu menunjuk ke mana kunci registri untuk SETX
vs SETX /M
Variabel Pengguna:
HKCU\Lingkungan
Sistem Variabel:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
PATH
append_user_path.cmd
@ECHO OFF
REM usage: append_user_path "path"
SET Key="HKCU\Environment"
FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B
ECHO %CurrPath% > user_path_bak.txt
SETX PATH "%CurrPath%";%1
PATH
append_system_path.cmd
. Harus run as admin.
(itu's pada dasarnya sama kecuali dengan Kunci
dan SETX /M
modifier)
@ECHO OFF
REM usage: append_system_path "path"
SET Key="HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B
ECHO %CurrPath% > system_path_bak.txt
SETX PATH "%CurrPath%";%1 /M
Akhirnya ada's berpotensi versi perbaikan yang disebut SETENV yang direkomendasikan oleh ss64 SETX halaman yang terpecah pengaturan pengguna atau lingkungan sistem variabel.
1. Tidak benar ketat
Terlambat ke pesta - tapi berguna jika anda sudah berada dalam direktori yang ingin anda tambahkan ke JALAN.
set PATH=%PATH%;%CD%
edit: sesuai komentar - bekerja dengan standar windows cmd tapi tidak di powershell.
Untuk powershell yang %CD%
setara [Sistem.Lingkungan]::CurrentDirectory
Bagaimana jika anda salah mengetikkan path menggunakan setx? Cara terbaik adalah hanya melalui windows U. I. Control Panel->Semua Item Control Panel->System->Advanced System Pengaturan->Variabel Lingkungan
Gulir ke bawah ke Jalan dan pilih Edit. Anda juga dapat copy dan paste ke editor favorit anda sehingga anda dapat melihat seluruh jalan dan lebih mudah mengeditnya.
Selain dari semua jawaban, jika anda ingin yang bagus GUI tool untuk mengedit variabel lingkungan windows anda dapat menggunakan Lingkungan yang Cepat Editor
cobalah! aman untuk digunakan dan mengagumkan!
Untuk mengesampingkan sudah termasuk executable;
set PATH=C:\xampp\php;%PATH%;
Memeriksa saran di atas pada Windows 10 LTSB, dan dengan sekilas pada "bantuan" garis (yang dapat dilihat ketika mengetik 'perintah /?' pada cmd), membawa saya ke kesimpulan bahwa JALAN perintah perubahan sistem variabel lingkungan Path nilai hanya untuk sesi saat ini, tapi setelah reboot semua nilai yang di-reset ke default - sama seperti mereka sebelum menggunakan JALUR komando.
Di sisi lain menggunakan SETX perintah dengan hak akses administratif adalah cara yang lebih kuat, perubahan nilai-nilai baik (atau setidaknya sampai waktu berikutnya perintah ini digunakan atau sampai waktu berikutnya nilai-nilai tersebut secara manual GUI dimanipulasi... ).
Tapi untuk kejelasan saya berpikir bahwa berbagi di sini yang terbaik SETX sintaks penggunaan yang bekerja untuk saya mungkin bisa membantu seseorang satu hari:
SETX PATH "%PATH%;C:\path\to\where\the\command\resides"
di mana setiap tanda sama '=' harus dihindari, dan don't khawatir tentang anda ruang! ada tidak perlu untuk memasukkan lebih banyak tanda kutip untuk jalan yang berisi ruang-ruang di dalamnya - tanda perpecahan ';' melakukan pekerjaan.
JALAN kata kunci yang mengikuti SETX yang mendefinisikan seperangkat nilai-nilai yang harus diubah antara Variabel Lingkungan Sistem nilai yang mungkin, dan %PATH% (firman JALAN yang dikelilingi oleh tanda persen) dalam tanda kutip, menceritakan OS untuk meninggalkan JALUR yang ada nilai-nilai mereka dan tambahkan path berikut (salah satu yang berikut tanda perpecahan ';' ) untuk nilai-nilai yang ada.
HTH
Mengenai poin 2 I'm menggunakan file batch sederhana yang mengisi PATH
atau variabel lingkungan untuk saya. Oleh karena itu, tidak ada polusi dari variabel lingkungan secara default. Ini batch file dapat diakses dari mana-mana sehingga saya bisa mengetik:
c:\>mybatchfile
-- here all env. are available
c:\>php file.php
Dalam command prompt anda memberitahu Cmd untuk menggunakan Explorer's command line dengan prakata dengan start
.
Jadi mulai Yourbatchname
.
Catatan anda harus mendaftar sebagai jika namanya adalah batchfile.exe
.
Program dan dokumen-dokumen yang dapat ditambahkan ke registry sehingga mengetik nama mereka tanpa mereka jalan di Start - Run dialog box atau shortcut memungkinkan Windows untuk menemukan mereka.
Ini adalah generik reg. Salin baris-baris di bawah ini untuk Dokumen Teks baru dan menyimpannya sebagai anyname.reg. Mengeditnya dengan program atau dokumen.
Di jalan menggunakan \ untuk memisahkan nama folder di jalur kunci seperti regedit menggunakan single \ untuk memisahkan hal's nama kunci. Semua reg file mulai dengan REGEDIT4. Tanda titik koma ternyata baris ke komentar. Simbol @ berarti untuk menetapkan nilai untuk kunci daripada yang bernama nilai.
File doesn't harus ada. Ini dapat digunakan untuk mengatur Word.exe untuk membuka Winword.exe.
Mengetik mulai betsfile
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've sudah diberitahu tentang jalan dalam jawaban lain. Lihat juga doskey /?
untuk cmd makro (mereka hanya bekerja ketika mengetik).
Anda dapat menjalankan startup perintah CMD. Dari Windows Recourse Kit Referensi Teknis
AutoRun
HKCU\Software\Microsoft\Command Processor
Data type Range Default value
REG_SZ list of commands There is no default value for this entry.
Deskripsi
Berisi perintah-perintah yang dieksekusi setiap kali anda memulai Cmd.exe.
Alternatif yang lebih baik untuk Control Panel adalah dengan menggunakan program freeware ini dari sourceforge disebut Pathenator:
https://sourceforge.net/projects/pathenator/
Namun, itu hanya pekerja untuk sistem yang memiliki Dot.Net 4.0 atau yang lebih baru seperti windows 7,8, atau 10.
Saya telah menginstal PHP waktu itu. Diekstrak php-7***.zip menjadi C:\php\
Cadangan saya saat ini PATH variabel lingkungan: run cmd
, dan jalankan perintah: path >C:\path-backup.txt
Sampai saat ini saya nilai ke jalan C:\path.txt file (cara yang sama)
Memodifikasi path.txt (tentu, saya jalan panjang lebih dari 1024 karakter, windows berjalan beberapa tahun)
setx jalan "di Sini anda harus memasukkan string dari buffer (jalan baru nilai)"
php -v
Sepele seperti itu mungkin, aku harus restart Windows ketika dihadapkan dengan masalah ini.
Saya menjalankan Windows 7 x64. Saya melakukan update manual ke sistem variabel PATH. Ini bekerja baik-baik saja jika saya menjalankan cmd.exe dari stat menu. Tapi jika saya ketik "cmd" di Windows Explorer address bar, sepertinya beban JALAN dari tempat lain, yang tidak't memiliki perubahan manual.
(Untuk menghindari keraguan - ya, aku tutup dan jalankan kembali cmd beberapa kali sebelum saya restart dan itu didn't membantu.)