Adding a directory to the PATH environment variable in Windows

前端 未结 18 1349
我在风中等你
我在风中等你 2020-11-21 05:13

I am trying to add C:\\xampp\\php to my system PATH environment variable in Windows.

I have already added it using the Environment Varia

18条回答
  •  别那么骄傲
    2020-11-21 05:59

    I would use PowerShell instead!

    To add a directory to PATH using PowerShell, do the following:

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

    To set the variable for all users, machine-wide, the last line should be like:

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

    In a PowerShell script, you might want to check for the presence of your C:\xampp\php before adding to PATH (in case it has been previously added). You can wrap it in an if conditional.

    So putting it all together:

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

    Better still, one could create a generic function. Just supply the directory you wish to add:

    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")
        }
    }
    

    You could make things better by doing some polishing. For example, using Test-Path to confirm that your directory actually exists.

提交回复
热议问题