env/dotenvtoenvars.ps1 (16 lines of code) (raw):

param( [string]$Path, [switch]$Verbose, [switch]$Remove, [switch]$RemoveQuotes ) $variables = Select-String -Path $Path -Pattern '^\s*[^\s=#]+=[^\s]+$' -Raw foreach($var in $variables) { $keyVal = $var -split '=', 2 $key = $keyVal[0].Trim() $val = $RemoveQuotes ? $keyVal[1].Trim("'").Trim('"') : $keyVal[1] [Environment]::SetEnvironmentVariable($key, $Remove ? '' : $val, "User") if ($Verbose) { "$key=$([Environment]::GetEnvironmentVariable($key))" } }