Выполнение пакета в Powershell (Win 10) не влияет на родительскую оболочку
Просто для понимания этого.
Я хочу открыть мой Powershell в определенной папке. Поскольку я не узнал, как, я попытался поместить пакетный файл с просто "cd....." в папку по умолчанию, где открывается PowerShell. Когда я выполняю пакет, я в конечном итоге начинаю с того, с чего начал. Кажется, что партия исполняется в подоболочке, которая не влияет на Parentshell.
Как я могу выполнить материал в пакетном файле в родительской оболочке?
Заранее спасибо!
2 ответа
Ты не можешь. Пакетные файлы выполняются cmd, а не PowerShell, поэтому для них всегда будет новый процесс.
С помощью скрипта PowerShell вы можете использовать точечный источник
. Script.ps1
Выполнить скрипт в текущей области видимости, что больше всего похоже на то, как командные файлы выполняются cmd по умолчанию.
Если вы хотите открыть свой Powershell в определенной папке, вы можете настроить его в своем профиле Powershell. В Powershell введите $profile, и это даст вам местоположение вашего файла профиля. Отредактируйте этот файл и используйте Set-Location:
Set-Location 'C:\Some\Place'
Powershell будет выполнять все, что есть в вашем профиле сценария, каждый раз, когда вы открываете новый сеанс Powershell.