Дъщерният скрипт на PowerShell променя средата на родителя

Имам PS скриптове, които променят текущата работна директория:

Set-Location (Join-Path (Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Definition)) -ChildPath src)

За съжаление, това засяга средата на родителския процес. Така че, когато извиквам този скрипт от терминал, текущата директория ще бъде променена след извикването на скрипта. В средата на Unix скриптът може да променя само локалната текуща директория, както и променливите на средата за скрипта, но не и за родителската обвивка.

Как е възможно да се промени това поведение?


person syscreat    schedule 17.05.2013    source източник
comment
Една от възможностите би била да използвате Push-Location вместо Set-Location. След това просто извикайте Pop-Location в края на скрипта.   -  person EBGreen    schedule 17.05.2013