Created
February 2, 2014 13:36
-
-
Save DamianFlynn/8768494 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Function global:Add-Path() | |
| { | |
| [Cmdletbinding()] | |
| param ( | |
| [parameter(Mandatory=$True, ValueFromPipeline=$True, Position=0)] | |
| [String[]]$AddedFolder | |
| ) | |
| # Get the current search path from the environment keys in the registry. | |
| $OldPath=(Get-ItemProperty –Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' –Name PATH).Path | |
| # See if a new folder has been supplied. | |
| IF (!$AddedFolder) | |
| { | |
| Return 'No Folder Supplied. $ENV:PATH Unchanged' | |
| } | |
| # See if the new folder exists on the file system. | |
| IF (!(TEST-PATH $AddedFolder)) | |
| { | |
| Return 'Folder Does not Exist, Cannot be added to $ENV:PATH' | |
| } | |
| # See if the new Folder is already in the path. | |
| IF ($ENV:PATH | Select-String -SimpleMatch $AddedFolder) | |
| { | |
| Return 'Folder already within $ENV:PATH' | |
| } | |
| # Set the New Path | |
| $NewPath=$OldPath+';'+$AddedFolder | |
| Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH –Value $newPath | |
| # Show our results back to the world | |
| Return $NewPath | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment