Mp *_*ega 494 windows command-line path environment-variables
我试图在Windows中添加C:\xampp\php到我的系统PATH环境变量.
我已经使用Environment Variables对话框添加了它.
但是当我输入我的控制台时:
C:\>path
Run Code Online (Sandbox Code Playgroud)
它不显示新C:\xampp\php目录:
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
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
PATH使用控制台(以编程方式,使用批处理文件)向我的变量添加目录?Jim*_*imR 925
PATH使用GUI 更改后,关闭并重新打开控制台窗口.
这是有效的,因为只有在更改后启动的程序才会看到新的PATH.
在打开的命令窗口中执行以下命令:
set PATH=%PATH%;C:\your\path\here\
Run Code Online (Sandbox Code Playgroud)
此命令附加C:\your\path\here\到当前PATH.
打破它:
set- 仅为当前cmd会话更改cmd环境变量的命令 ; 其他程序和系统不受影响.PATH=- 表示这PATH是要临时更改的环境变量.%PATH%;C:\your\path\here\- 该%PATH%部分扩展为当前值PATH,;C:\your\path\here\然后连接到它.这成了新的PATH.Naf*_*ipt 192
警告:此解决方案可能会破坏您的PATH以及系统的稳定性.作为副作用,它将合并您的用户和系统PATH,并将PATH截断为1024个字符.此命令的效果是不可逆转的.首先备份PATH.有关更多信息,请参阅注释.
不要盲目地复制粘贴它.谨慎使用.
您可以使用以下命令永久添加路径:PATHsetx
setx /M path "%path%;C:\your\path\here\"
Run Code Online (Sandbox Code Playgroud)
/M如果要设置用户PATH而不是系统,请删除该标志PATH.
笔记:
setx命令仅在Windows 7及更高版本中可用.您应该从提升的命令提示符运行此命令.
如果您只想为当前会话更改它,请使用set.
Han*_*ant 136
这只会修改注册表.现有流程不会使用这些值.如果在此更改之后启动并且未从其父级继承旧环境,则新进程将执行此操作.
您没有指定启动控制台会话的方式.确保这一点的最佳方法是退出命令shell并再次运行它.然后它应该继承更新的PATH.
zar*_*zar 61
您不需要任何set或setx命令,只需打开终端并键入:
PATH
Run Code Online (Sandbox Code Playgroud)
这显示了PATH变量的当前值.现在要添加目录吗?只需输入:
PATH %PATH%;C:\xampp\php
Run Code Online (Sandbox Code Playgroud)
如果出于任何原因想要清除PATH变量(根本没有路径或删除其中的所有路径),请键入:
PATH ;
Run Code Online (Sandbox Code Playgroud)
更新
就像Danial Wilson在下面的评论中指出的那样,它只在当前会话中设定路径.要设置路径永久使用setx但要注意,虽然它永久设置路径但不在当前会话中,因此您必须启动新命令行以查看更改,此处有更多信息.
要检查环境变量是否存在或查看其值,请使用ECHO commnad:
echo %YOUR_ENV_VARIABLE%
Run Code Online (Sandbox Code Playgroud)
Ife*_*kwo 42
在这个PowerShell时代,我会像这样编辑PATH:
$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path")
Run Code Online (Sandbox Code Playgroud)
要在机器范围内为所有用户设置变量,最后一行应如下所示:
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
Run Code Online (Sandbox Code Playgroud)
在PowerShell脚本中,您可能希望C:\xampp\php在添加到PATH之前检查是否存在(如果之前已添加).您可以将其包装在if条件中.
所以把它们放在一起:
$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
if( $PATH -notlike "*"+$xampp_path+"*" ){
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
}
Run Code Online (Sandbox Code Playgroud)
icc*_*c97 32
对@ Nafscript的初步SETX答案的所有评论点头.
SETX默认情况下会更新您的用户路径.SETX ... /M将更新您的系统路径.%PATH% 包含附加了用户路径的系统路径PATH - SETX将截断你的垃圾超过1024个字符SETX %PATH%;xxx - 将系统路径添加到用户路径中SETX %PATH%;xxx /M - 将用户路径添加到系统路径中该ss64 SETX页面有一些非常好的例子.重要的是,它指向注册表项为SETXvs的位置SETX /M
用户变量:
HKCU\Environment系统变量:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
PATHappend_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
Run Code Online (Sandbox Code Playgroud)
PATHappend_system_path.cmd.必须以管理员身份运行.
(除了不同Key的SETX /M修饰符之外,它基本相同)
@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
Run Code Online (Sandbox Code Playgroud)
最后,ss64 SETX页面推荐使用一个名为SETENV的改进版本,该版本拆分设置用户或系统环境变量.
1.严格来说并非如此
ncl*_*ord 24
晚到派对 - 如果您已经在要添加到PATH的目录中,则会很方便.
set PATH=%PATH%;%CD%
编辑:根据评论 - 适用于标准的Windows cmd,但不适用于PowerShell.
对于powershell,%CD%相当于[System.Environment]::CurrentDirectory
Tho*_*eca 21
如果您使用setx错误输入路径怎么办?最好的方法是通过Windows UI 控制面板 - >所有控制面板项目 - >系统 - >高级系统设置 - >环境变量
向下滚动到Path并选择Edit.您还可以将其复制并粘贴到您喜欢的编辑器中,以便您可以查看整个路径并更轻松地编辑它.
除了所有答案之外,如果您想要一个不错的 GUI 工具来编辑您的 Windows 环境变量,您可以使用Rapid Environment Editor。
尝试一下!使用起来很安全,很棒!
使用gtools的路径。
它以直观的方式做事。例如:
pathed /REMOVE "c:\my\folder"
pathed /APPEND "c:\my\folder"
Run Code Online (Sandbox Code Playgroud)
它无需生成新的 cmd 即可显示结果!
覆盖已经包含的可执行文件;
设置 PATH=C:\xampp\php;%PATH%;
| 归档时间: |
|
| 查看次数: |
1439741 次 |
| 最近记录: |